专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 高性能数据库开发

sql语句 嵌套查询优化,该怎么解决

发布时间:2010-05-24 21:14:03 文章来源:www.iduyao.cn 采编人员:星星草
sql语句 嵌套查询优化

今天主要是给客户优化sql语句查询,多个表连接查询以及嵌套查询,一万多条的数据就至少用了半分钟以上,代码比如:


select * 
from a 
left  join  b on a.id=b.id
........
left join ......
......
where a.userId in (select id from c)

我检查了一下,主要是在  in 处用的时间较长,  a表和c表的数据量比较大,几十万以上,我用了exists替换in 根本没用,不知道还有没有其他的解决方法,建索引可以吗?除了建立索引还有没有其他的方法
------解决方案--------------------
1      select DateCode from DateList where 1=1  AND Date <='2014-06-06'
这里面能否去重? in ()后面的唯一个数大概是多少

2  如果确确实实in后面太多了,可以改成inner join 来过滤  消除In

3  如果inner join也不行   我以前使用minus消除In 但是比较麻烦点。效果从当初的14秒多到0.5秒
------解决方案--------------------
给Bill_Buy的BuildDate和DateCode的Date加上索引试试
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: