作者localhost (127.0.0.1)
看板PHP
标题[请益] json跟资料库查询的速度哪个快
时间Fri Apr 27 16:53:26 2018
目前接到案子是 成绩评级加排序
排序没问题 评级的话是有另外一个对照表 例如100分 A++ 90分A+
之类的
如果我用成绩去select对照表
还是先用json把对照的资料全都传过去 用成绩当key值对应 这样速度差异大吗
目前测试资料量不多 是无感
这是要跑大量的报表 可能会有几万笔
加上有好几科 数量会有几十万笔
这样是用哪个方法效能最快?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 27.246.33.199
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1524819209.A.1B4.html
1F:→ MOONRAKER: 没index: 资料库快一点因为他code最佳化 04/27 18:10
2F:→ MOONRAKER: 有index: 资料库电死你土制json 04/27 18:11
3F:→ MOONRAKER: 你做index绝难做赢资料库 没做更惨 所以不要土炮了 04/27 18:11
4F:→ MOONRAKER: 除非你的json是MongoDB那种表面json底下资料库的玩意 04/27 18:12
5F:→ localhost: 程式是用angularjs+php开发的 资料库是mysql 04/27 19:43
6F:→ localhost: angularjs似乎都是用json在传递 目前也只是刚接手 04/27 19:44
7F:→ localhost: 也就是说有索引的话 资料库查询会比较快? 04/27 19:47
8F:→ localhost: 我看之前的作法都是把资料全部塞在json里面 04/27 19:47
9F:→ 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
10F:推 liisi: 感觉案子的资料结构不复杂 还不需要用到json吧 04/27 23:16
11F:→ liisi: 另外 为何不在成绩计算好时 也把评级放入 就不用作对照了 04/27 23:18
12F:→ iFEELing: 几十万笔对JSON很大 但对调好的DB是小CASE 04/28 09:58
13F:→ iFEELing: 评级固定的话直接用select case 做掉 不用再查表了 04/28 09:59
14F:→ MOONRAKER: 都angularjs应该是没有办法不用json。 04/28 10:41
15F:推 GALINE: 其实要看你怎麽用,批次作业的话一大包分行JSON有优势 04/30 18:55
16F:→ GALINE: 但随机存取不适合... 04/30 18:56
17F:→ GALINE: 如果常常需要随机读写档案,SSD 是你的好朋友 04/30 18:56
18F:→ banqhsia: 用 redia zset (有序集合),全部东西 push 进去,再 05/18 08:48
19F:→ banqhsia: 拿出来就是排序完的列表了。 05/18 08:48
20F:→ banqhsia: redis zset* 05/18 08:48