Re: [討論] SQL的指令優缺點

作者: Lordaeron (Terry)   2016-10-18 17:35:13
※ 引述《ripple0129 (perry tsai)》之銘言:
: 在看過一些複雜的SQL指令後,
: 覺得這是個難以維護的東西。
: 優點自然也是有的,
: 可以少寫不少程式碼。
情況1.
: 而複雜的SQL指令不外乎Join了好幾個Table,
: Where了好幾種條件。
: 想請教各位大大對於SQL的應用上,
情況2.
: 單純做CRUD然後給與對應的entity物件,
: 需要Join時就是Select Table出來,
: 之後再自行用程式碼拼裝。
: 還是下達花式SQL指令降低程式碼量好?
: 然後哪一種對資料庫有較輕的負擔?
簡單的回答
兩種disk I/O 都一樣。 但
對DB哪台機器來說,
情況1. CPU bound
情況2. network I/O bound
對AP哪台機器來說
情況1. 沒事。
情況2. network I/O bound + CPU bound
資料量(筆數及SIZE)<<<<< network I/O 的負載,都沒差。
作者: dreamnook (亞龍)   2016-10-18 17:39:00
這個解釋好像是最乾淨的
作者: locklose (允)   2016-10-18 17:41:00
作者: pttworld (批踢踢世界)   2016-10-18 18:19:00
 
作者: kenvi (kenvi)   2016-10-18 18:29:00
他的情況1 2不是分別為1. 單純做CRUD然後給與對應的entity物件,需要Join時就是Select Table出來,之後再自行用程式碼拼裝。2. 還是下達花式SQL指令降低程式碼量好和這篇回覆是的是相同案例嗎? 還是我的眼睛有業障?問的是要用花式SQL直接取出資料還是將邏輯擺在程式裡
作者: atpx (秋雨的心情)   2016-10-18 18:56:00
精闢
作者: leicheong (睡魔)   2016-10-20 21:52:00
2要看情況. 目前在做一個需要處理大量散工薪資計算的系統, 二十來個table十來萬條記錄方能產生一個員工的薪金計算結果. 丟給AP做這資料量大概會把網路拖死...當然SQL本身也有不擅長處理的事, 所以最佳解應該是把資料丟給embed到SQL server的module上跑?

Links booklink

Contact Us: admin [ a t ] ucptt.com