另类的循环内查询
某php里面,sql如下
select count(*) from a, (select sum(b) as b from c where c.id=a.id ) as d whee a.id= b.aid and a.xxxx = ??? and a.yyyy=?????
用来做分页的满足条件记录数量的统计,看上去不错。
但我们考虑如下场景,当 a里面满足 a.xxxx = ??? and a.yyyy=????? 的记录达到万条,那么 (select sum(b) as b from c where c.id=a.id )
不也要计算万次?
优化方法如下:
删除(select sum(b) as b from c where c.id=a.id )
而在每个分页展示的时候,发出 rowcountperpage 个统计。
将大大减轻查询负载。
YesReport所见所得的WEB报表设计、打印插件,数据源不直接连接数据库,而是URL,支持PHP,JSP,ASP等所有支持JSON的后端,简单易学。
浙公网安备 33010602011771号