iT邦幫忙

3

為何有些人不喜歡使用 SQL 方言?

sql

像是 oracle 的 pl/sql,sql server 的 t-sql
最近看一個新同事的code (有3年資歷)

明明可以使用 t-sql 設定變數的方式,一個 sql script 解決
但卻堅持要用 python + ansi sql 解決...

他說 : 「這樣以後換資料庫才比較方便」

我個人觀點是,中途換資料庫情況在我工作幾年情況完全沒遇過
覺得這樣是過度設計了

並且個資料庫廠商提供的方言,很多時候可以提供更高速度、方便的工具
不應該不使用

看更多先前的討論...收起先前的討論...
小魚 iT邦大師 1 級 ‧ 2020-09-06 13:58:10 檢舉
能抓老鼠就是好貓
不是不喜歡,是「怕」用了後被綁架。
中途換資料庫情況是不會出現,但客戶指定用資料庫廠家經常出現。
「高速度、方便」之後可能是後悔。
13
海綿寶寶
iT邦大神 1 級 ‧ 2020-09-06 14:31:14
最佳解答

中途換資料庫情況在我工作幾年情況完全沒遇過

而你那位新同事遇過
他遇過的不是換資料庫
而是換(公司)工作
某種角度來說也就等同於換資料庫
/images/emoticon/emoticon10.gif

李正群 iT邦新手 5 級 ‧ 2020-09-06 14:41:04 檢舉

您的話太中肯啦 XD

smartyee iT邦新手 5 級 ‧ 2020-09-12 00:43:44 檢舉

so ga

7
ckp6250
iT邦研究生 1 級 ‧ 2020-09-06 17:02:16

我的想法剛好相反,我寧可把精神放在 sql procedure 上面。
「這樣以後換程式語言才比較方便」

看更多先前的回應...收起先前的回應...

這也是一種觀點與方式.

ckp6250 iT邦研究生 1 級 ‧ 2020-09-06 17:55:53 檢舉

補充一下我的想法,
主要通行的資料庫,數十年下來,就那麼幾個最常見,
程式語言則不斷推陳出新,不同載具也有不同的程式工具,

當我把 store procedure 寫完整,
那麼,不管用什麼語言來呼叫,都是一個函數搞定。

資料庫那麼強大的功能不用,只取簡單的 select,insert,delete等幾個指令(我的工程師就是),那不如直接存成文字檔就好了。

鐵打的資料庫,流水的語言.

WQ iT邦新手 3 級 ‧ 2020-09-07 10:52:23 檢舉

一個是AP,另一個是DB,其實....兩難....

utap2001 iT邦新手 5 級 ‧ 2020-09-07 16:25:32 檢舉

其實我反而覺得,就是因為選擇少。所以這些資料庫廠商才有更多方法來搞你
如果是語言的話,我喜歡選擇內建函數多的,因為語言多轉換比較方便,可是如果是SQL的話,我還比較喜歡自己慢慢刻,這樣以後比較不會被綁架

5
sam0407
iT邦高手 1 級 ‧ 2020-09-07 10:16:03

我很久以前在SI公司,會希望把寫出來的程式包裝成產品,所以那時的觀念和您那位同事一樣,不管客戶偏好的資料庫是那一種,我的程式都可以賣進去~~

後來轉到製造業,就和樓主的環境類似,公司ERP系統是內部自行開發的,資料庫用的就是MS SQL,資料量也就不多,感覺公司也不可能讓我們換更貴的資料庫,才開始用比較多的T-SQL

可是這兩年升級資料庫,覺得其實MS SQL也滿貴的,但想改換PosgreSQL/MariaDB就不好換了....

看更多先前的回應...收起先前的回應...

+1

WQ iT邦新手 3 級 ‧ 2020-09-07 13:35:39 檢舉

觀點及借位思考很到位,但是在開發程式時,這就是很大的盲點。

sam0407 iT邦高手 1 級 ‧ 2020-09-08 08:16:45 檢舉

謝WQ大認同~~
我是不覺得有什麼盲點,要好的相容性,就要犧牲效能;要效能就犠牲相容性,主要還是取決於系統的定位/程式設計師的技能/公司能提供的資源這些因素來作取捨。

+1

1
sx0800
iT邦新手 5 級 ‧ 2020-09-07 10:24:06

我就是那個喜歡用 SQL92/SQL99 打死一切語法的人。
除非它做不到,不然幹嘛換成怪怪又不相容的語法。

我要發表回答

立即登入回答