TP的关联查询没考虑效率问题吗?

浏览:1252 发布日期:2013/10/21 分类:求助交流
最近在优化网站,发现输出的SQL里有一大堆:SELECT * FROM `think_spec` WHERE ( 1=1 AND good_id='45' ) [ RunTime:0.000639s ]
SELECT * FROM `think_spec` WHERE ( 1=1 AND good_id='46' ) [ RunTime:0.000673s ]
SELECT * FROM `think_spec` WHERE ( 1=1 AND good_id='47' ) [ RunTime:0.001108s ]
SELECT * FROM `think_spec` WHERE ( 1=1 AND good_id='67' ) [ RunTime:0.000810s ]
SELECT * FROM `think_spec` WHERE ( 1=1 AND good_id='68' ) [ RunTime:0.000602s ]
SELECT * FROM `think_spec` WHERE ( 1=1 AND good_id='69' ) [ RunTime:0.000647s ]
SELECT * FROM `think_spec` WHERE ( 1=1 AND good_id='70' ) [ RunTime:0.000724s ]
...
原来TP把关联查询(relation)的子查询采用循环查询id的方式实现。我当时就疯了。然后心想,算了,加个缓存吧,于是加了个->cache(true), 结果该缓存只对该查询语句的主查询有效,子查询完全不受影响,依然如上输出无数个根据id查询。请问官方,你们是有意这么设计的吗?
最佳答案
评论( 相关
后面还有条评论,点击查看>>