看板 PHP 關於我們 聯絡資訊
目前接到案子是 成績評級加排序 排序沒問題 評級的話是有另外一個對照表 例如100分 A++ 90分A+ 之類的 如果我用成績去select對照表 還是先用json把對照的資料全都傳過去 用成績當key值對應 這樣速度差異大嗎 目前測試資料量不多 是無感 這是要跑大量的報表 可能會有幾萬筆 加上有好幾科 數量會有幾十萬筆 這樣是用哪個方法效能最快? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.246.33.199 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1524819209.A.1B4.html
MOONRAKER: 沒index: 資料庫快一點因為他code最佳化 04/27 18:10
MOONRAKER: 有index: 資料庫電死你土製json 04/27 18:11
MOONRAKER: 你做index絕難做贏資料庫 沒做更慘 所以不要土炮了 04/27 18:11
MOONRAKER: 除非你的json是MongoDB那種表面json底下資料庫的玩意 04/27 18:12
localhost: 程式是用angularjs+php開發的 資料庫是mysql 04/27 19:43
localhost: angularjs似乎都是用json在傳遞 目前也只是剛接手 04/27 19:44
localhost: 也就是說有索引的話 資料庫查詢會比較快? 04/27 19:47
localhost: 我看之前的作法都是把資料全部塞在json裡面 04/27 19:47
apple0660: 你是要把幾萬筆資料傳到前端處理嗎? 04/27 20:42
應該這麼說 程式的本體是JAVA寫的 就是用json來提供各種資料 目前接手到的都是用json送過來的資料 我也是有資料庫的連線設定 如果用資料庫的效能較高 我就可以直接處理 如果是json速度快 我就必須請對方將整個對照表的資料用json傳給我...就是這樣 當時為什麼不直接用資料庫 我在猜當時有可能是PHP跟資料庫放不同server 舊的連線被註解掉還留著QQ 應該是跨server效能不佳吧 現在是有整合了 ※ 編輯: localhost (36.239.219.56), 04/27/2018 22:08:12
liisi: 感覺案子的資料結構不複雜 還不需要用到json吧 04/27 23:16
liisi: 另外 為何不在成績計算好時 也把評級放入 就不用作對照了 04/27 23:18
iFEELing: 幾十萬筆對JSON很大 但對調好的DB是小CASE 04/28 09:58
iFEELing: 評級固定的話直接用select case 做掉 不用再查表了 04/28 09:59
MOONRAKER: 都angularjs應該是沒有辦法不用json。 04/28 10:41
GALINE: 其實要看你怎麼用,批次作業的話一大包分行JSON有優勢 04/30 18:55
GALINE: 但隨機存取不適合... 04/30 18:56
GALINE: 如果常常需要隨機讀寫檔案,SSD 是你的好朋友 04/30 18:56
banqhsia: 用 redia zset (有序集合),全部東西 push 進去,再 05/18 08:48
banqhsia: 拿出來就是排序完的列表了。 05/18 08:48
banqhsia: redis zset* 05/18 08:48