有这样一个需求:
服务器上存有多张表,他们都有关联键content-id。
前端发出一个Ajax请求,后端mysql根据content-id,将多张表做join查询,php输出json,之后前端再将json解析渲染。
前端改为发出多个Ajax请求,后端对每张表都进行查询,每个ajax请求只对应一张表,不再做join,php输出多个json,之后前端再将json解析渲染。
补充表结构:
所有表的查询都非常简单:
之前的方法,就一条查询:
select * from tableA join tableB on tableB.id = tableA.id ...(可能有多个JOIN)... where id = 5;
要改成的方法,前面方法有多少张表,这个方法就有多少个Ajax请求,就有多少次查询:
select * from tableA where id = 5; select * from tableB where id = 5; select * from tableC where id = 5;
请问哪一种方案更好?
付费偷看金额在0.1-10元之间
你要觉得处理一直很快那就想怎么就怎么,慢了就分开,纠结啥
看你们对服务器性能方面的要求了,服务器负载不高当然是join好,一个请求比多个请求的速度快很多
为啥不一次ajax都发过去,然后后端爱咋查询就查询呗,查询性能是他后端的问题,你前端也要考虑自己的性能啊,移动端的tcp链接开销也不小啊(pc端可以无视)。
而现在而言,数据库是最大的性能瓶颈所在。所以尽可能的降低数据库负载是web开发中重要的一环。
join耗的mysql瞬间机器性能。
如果真的要做优化,不如做一张用来cache的表,表里面有常用的几个字段,直接请求这张表就好了。
提醒:不要用 join
一周热门 更多>