sql 嵌套查询语句怎么优化

我写了一个很慢的sql语句,好像可以用left语法代替加快速度,谁帮我改下:SELECT(SELECTcount(pid)FROMpw_postsaWHEREa.tid=... 我写了一个很慢的sql语句,好像可以用left语法代替加快速度,谁帮我改下: SELECT (SELECT count( pid ) FROM pw_posts a WHERE a.tid = b.tid and postdate>$tdtime) AS replies, tid, author, (SELECT subject FROM pw_threads c WHERE c.tid = b.tid) AS subject, (SELECT postdate FROM pw_threads c WHERE c.tid = b.tid) AS postdate FROM pw_posts b where postdate>$tdtime and tid in (select tid FROM pw_threads b where postdate>$tdtime and fid<>0) GROUP BY tid ORDER BY replies DESC LIMIT 0,$listnum 展开
 我来答
匿名用户
2013-06-27
展开全部
最外层的SQL SELECT语句里面的条件,你不要全部套进去,应该先把条件查出来,然后组建最外层SQL语句。简单来说,就是将里面的SELECT语句查出来的结果保存到变量中,然后再来将条件整合,组成最外层SQL语句。LEFT,它并不是加快查询速度,它只不过加快结果集返回的速度。实际上,你并不能感觉到这速度的提高。不过我们还是建议,当你查询很长字符串时(比如说记录的标题)在页面中显示,可以使用LEFT在SQL服务端进行字符截取。
匿名用户
2013-06-27
展开全部
如果是因为大表关联导致的慢,建议建临时表,然后使用pl/sql不关联的方法解决。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式