当前位置:Gxlcms > 数据库问题 > 一个mysql优化技巧的误区

一个mysql优化技巧的误区

时间:2021-07-01 10:21:17 帮助过:26人阅读


        那么在什么情况下,使用in操作一样可以使用到索引,不会全表扫描呢?

        1.  in的字段必须是带有索引的字段。

        2.  in(...) 中的数据最好加上引号,即使字段类型是数字。


        在这里可能有人会有疑问,上面表中的字段fdbid是int类型,难道数值型的字段也需要用引号?我笑而不语。        

select * 
from t_auxiliary_info 
where fdbid not in(1000,1500,1234,5155,6789,3423,5368,245645);

  

        真相在这里:

技术分享

        这就是全表扫描!!!



所以最后给出的结论:

  1.   使用  in 条件的字段必须是索引字段。

  2. 且,in(。。。) 括号中的值都加上引号,无论字段类型是什么鬼。


欢迎讨论指教。


本文出自 “我的PHP之路” 博客,请务必保留此出处http://phpme.blog.51cto.com/663593/1916491

一个mysql优化技巧的误区

标签:mysql   sql优化   mysql优化   索引   全表扫描   

人气教程排行