看板 Programming 關於我們 聯絡資訊
首先,感謝幾位先進的回應 會PO文的原因是因為看了網路上的一篇文章 連結 http://0rz.tw/qNMbk 因為文中一直強調選對方法能增加執行速度,這當然沒錯 1億筆資料,O(n)跟O(1)有著天差地遠的效率 因此,才連結到我前一篇文章裡所說,到底資料結構跟資料庫的關係是什麼? 如那篇文章中所舉的範例,100萬筆通訊錄資料的排序及搜尋 我不清楚的是,資料排序完之後,最終會寫入資料庫,總不可能一直都放在記憶體吧 既然這樣,就像幾位先進講的,資料庫在存入資料時已經建立了某種資料結構 我們再用SQL去取出來就是了 那麼,資料結構到底用在哪? 不是說資料庫實作了什麼資料結構 而是在程式code中,資料結構用在哪? 或者說,既然資料庫都已經實作了如k大所說的B+tree了 那在程式code中,不就只要SQL取出來,在display給使用者就好了 ps.感謝K大的回應,讓我修正了上面這一段 問了很笨的問題,請各位包涵 = =" -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.120.62.160 ※ 文章網址: http://www.ptt.cc/bbs/Programming/M.1405045518.A.628.html
KoenigseggG:B+tree 218.161.96.194 07/11 10:46
※ 編輯: jscorpio1 (140.120.62.160), 07/11/2014 10:55:15
bxxl:如果你要的東西可以直接用SQL寫出來,那本來 114.45.137.253 07/11 11:40
bxxl:就不需要在外面搞另外一層資料結構吧 114.45.137.253 07/11 11:40
LPH66:SQL 就是把這堆麻煩事給包起來, 用一條指令 140.112.30.32 07/11 14:42
LPH66:就可以辦到複雜的事情 140.112.30.32 07/11 14:42
LPH66:有的時候 SQL 寫的不好也是會有效能問題 140.112.30.32 07/11 14:43
LPH66:這就是因為 SQL 描述的方式讓資料庫系統用了 140.112.30.32 07/11 14:44
LPH66:比較沒效率的方式去進行計算的關係 140.112.30.32 07/11 14:45
LPH66:(這種現象就是 Joel 的「抽象滲漏法則」) 140.112.30.32 07/11 14:46
LPH66:如果硬是要問「資料結構在哪」, 那只好說 140.112.30.32 07/11 14:48
LPH66:它被 SQL 這一層殼給包起來了, 所以表面上 140.112.30.32 07/11 14:48
LPH66:看似一條指令實際上底下就是用這些資料結構 140.112.30.32 07/11 14:49
LPH66:在做苦工... 140.112.30.32 07/11 14:49
azureblaze:程式的工作不只是從資料庫撈東西顯示 36.224.100.32 07/11 15:10
Killercat:所以ORM跟DAO如此重要(耶穌光) 59.124.251.135 07/11 15:15
mars90226:假如你要用資料做甚麼特殊運算,就可能 1.171.163.140 07/11 17:19
mars90226:需要特別的資料結構與演算法來做 1.171.163.140 07/11 17:20
mars90226:如果只是簡單的顯示資料,當然沒差 1.171.163.140 07/11 17:20