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

看板PHP作者 (127.0.0.1)時間6年前 (2018/04/27 16:53), 6年前編輯推噓2(2018)
留言20則, 7人參與, 6年前最新討論串1/1
目前接到案子是 成績評級加排序 排序沒問題 評級的話是有另外一個對照表 例如100分 A++ 90分A+ 之類的 如果我用成績去select對照表 還是先用json把對照的資料全都傳過去 用成績當key值對應 這樣速度差異大嗎 目前測試資料量不多 是無感 這是要跑大量的報表 可能會有幾萬筆 加上有好幾科 數量會有幾十萬筆 這樣是用哪個方法效能最快? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.246.33.199 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1524819209.A.1B4.html

04/27 18:10, 6年前 , 1F
沒index: 資料庫快一點因為他code最佳化
04/27 18:10, 1F

04/27 18:11, 6年前 , 2F
有index: 資料庫電死你土製json
04/27 18:11, 2F

04/27 18:11, 6年前 , 3F
你做index絕難做贏資料庫 沒做更慘 所以不要土炮了
04/27 18:11, 3F

04/27 18:12, 6年前 , 4F
除非你的json是MongoDB那種表面json底下資料庫的玩意
04/27 18:12, 4F

04/27 19:43, 6年前 , 5F
程式是用angularjs+php開發的 資料庫是mysql
04/27 19:43, 5F

04/27 19:44, 6年前 , 6F
angularjs似乎都是用json在傳遞 目前也只是剛接手
04/27 19:44, 6F

04/27 19:47, 6年前 , 7F
也就是說有索引的話 資料庫查詢會比較快?
04/27 19:47, 7F

04/27 19:47, 6年前 , 8F
我看之前的作法都是把資料全部塞在json裡面
04/27 19:47, 8F

04/27 20:42, 6年前 , 9F
你是要把幾萬筆資料傳到前端處理嗎?
04/27 20:42, 9F
應該這麼說 程式的本體是JAVA寫的 就是用json來提供各種資料 目前接手到的都是用json送過來的資料 我也是有資料庫的連線設定 如果用資料庫的效能較高 我就可以直接處理 如果是json速度快 我就必須請對方將整個對照表的資料用json傳給我...就是這樣 當時為什麼不直接用資料庫 我在猜當時有可能是PHP跟資料庫放不同server 舊的連線被註解掉還留著QQ 應該是跨server效能不佳吧 現在是有整合了 ※ 編輯: localhost (36.239.219.56), 04/27/2018 22:08:12

04/27 23:16, 6年前 , 10F
感覺案子的資料結構不複雜 還不需要用到json吧
04/27 23:16, 10F

04/27 23:18, 6年前 , 11F
另外 為何不在成績計算好時 也把評級放入 就不用作對照了
04/27 23:18, 11F

04/28 09:58, 6年前 , 12F
幾十萬筆對JSON很大 但對調好的DB是小CASE
04/28 09:58, 12F

04/28 09:59, 6年前 , 13F
評級固定的話直接用select case 做掉 不用再查表了
04/28 09:59, 13F

04/28 10:41, 6年前 , 14F
都angularjs應該是沒有辦法不用json。
04/28 10:41, 14F

04/30 18:55, 6年前 , 15F
其實要看你怎麼用,批次作業的話一大包分行JSON有優勢
04/30 18:55, 15F

04/30 18:56, 6年前 , 16F
但隨機存取不適合...
04/30 18:56, 16F

04/30 18:56, 6年前 , 17F
如果常常需要隨機讀寫檔案,SSD 是你的好朋友
04/30 18:56, 17F

05/18 08:48, 6年前 , 18F
用 redia zset (有序集合),全部東西 push 進去,再
05/18 08:48, 18F

05/18 08:48, 6年前 , 19F
拿出來就是排序完的列表了。
05/18 08:48, 19F

05/18 08:48, 6年前 , 20F
redis zset*
05/18 08:48, 20F
文章代碼(AID): #1QukK96q (PHP)
文章代碼(AID): #1QukK96q (PHP)