十二 28 2009
用例子说明inner join,left join,right join,full join的区别
最近论坛的数据超过了1600万了,时不时的出现访问速度超慢的情况,虽然不是出现频率很多,但也很影响论坛的正常运行。今天终于抽出一些时间来优化一下,经过分析,发现主要是在一个更新主贴回帖数的语句上出现了问题,因为我们的论坛是从dvbbs转过来的,所以当时这个语句做过调整,原来的语句是
SELECT count(*) FROM cdb_posts AS p LEFT JOIN cdb_members AS m ON p.authorid = m.uid WHERE p.tid = ’1213675′ AND p.invisible = ’0′ AND p.fid NOT IN (444,92) AND m.uid IS NOT NULL
发现效率真的很差,经常要执行10秒左右,于是现学现卖,抓紧学知识,首先是加索引,效果不错问题解决了。但是我还是想优化一下这个语句。因为这里面的left join一直以来概念模糊,只知道人家用我也用。今天到网上仔细找了找资料学习了一番,把这个语句改成了
阅读全文——共1414字
