[請益] json跟資料庫查詢的速度哪個快

作者: localhost (127.0.0.1)   2018-04-27 16:53:26
目前接到案子是 成績評級加排序
排序沒問題 評級的話是有另外一個對照表 例如100分 A++ 90分A+
之類的
如果我用成績去select對照表
還是先用json把對照的資料全都傳過去 用成績當key值對應 這樣速度差異大嗎
目前測試資料量不多 是無感
這是要跑大量的報表 可能會有幾萬筆
加上有好幾科 數量會有幾十萬筆
這樣是用哪個方法效能最快?
作者: MOONRAKER (㊣牛鶴鰻毛人)   2018-04-27 18:10:00
沒index: 資料庫快一點因為他code最佳化有index: 資料庫電死你土製json你做index絕難做贏資料庫 沒做更慘 所以不要土炮了除非你的json是MongoDB那種表面json底下資料庫的玩意
作者: localhost (127.0.0.1)   2018-04-27 19:43:00
程式是用angularjs+php開發的 資料庫是mysqlangularjs似乎都是用json在傳遞 目前也只是剛接手也就是說有索引的話 資料庫查詢會比較快?我看之前的作法都是把資料全部塞在json裡面
作者: apple0660   2018-04-27 20:42:00
你是要把幾萬筆資料傳到前端處理嗎?
作者: liisi (小心一點)   2018-04-27 23:16:00
感覺案子的資料結構不複雜 還不需要用到json吧另外 為何不在成績計算好時 也把評級放入 就不用作對照了
作者: iFEELing (ing)   2018-04-28 09:58:00
幾十萬筆對JSON很大 但對調好的DB是小CASE評級固定的話直接用select case 做掉 不用再查表了
作者: MOONRAKER (㊣牛鶴鰻毛人)   2018-04-28 10:41:00
都angularjs應該是沒有辦法不用json。
作者: GALINE (天真可愛CQD)   2018-04-30 18:55:00
其實要看你怎麼用,批次作業的話一大包分行JSON有優勢但隨機存取不適合...如果常常需要隨機讀寫檔案,SSD 是你的好朋友
作者: banqhsia (BEN)   2018-05-18 08:48:00
用 redia zset (有序集合),全部東西 push 進去,再拿出來就是排序完的列表了。redis zset*

Links booklink

Contact Us: admin [ a t ] ucptt.com