关于sql exists的一点心得

来源:互联网 发布:al软件 编辑:程序博客网 时间:2024/04/30 23:26

        可能由于编码习惯问题吧,以前总喜欢用in语句,由于in 的限制比较多,而且效率也不高,网上很多人推荐用exisit来代替in,顾很自然的用上了exists。

        之前用户不是很多,没觉得有什么影响,当用户超过2万后,突然数据长时间运行还跑不出了,而且服务器cpu长时间占用100%,先开始以为是新换的服务器性能有问题,经测试发现问题不在这。只好在代码上找问题了,把其中执行的sql语句一条条运行,发现其中有几条带exists的语句很慢,甚至夸张的达到1分多钟都没反应的地步,好吧看来真是sql语句的问题了。

         后来用inner join内连接来替换,速度瞬间提升,好吧,看来好的写sql语句的习惯还是很重要的!

         以后还是要少使用in、exists这些子语句来写sql!

0 0