当前位置:Gxlcms > 数据库问题 > 数据查询优化之mysql索引

数据查询优化之mysql索引

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

哪些常见情况不能用索引?

    • like “%xxx”
    • not in , !=
    • 对列进行函数运算的情况(如 where md5(password) = “xxxx”)
    • WHERE index=1 OR A=10
    • 存了数值的字符串类型字段(如手机号),查询时记得不要丢掉值的引号,否则无法用到该字段相关索引,反之则没关系

覆盖索引(Covering Indexes)拥有更高效率

索引包含了所需的全部值的话,就只select 他们,换言之,只select 需要用到的字段,如无必要,可尽量避免select *

NULL 的问题

NULL会导致索引形同虚设,所以在设计表结构时应避免NULL 的存在(用其他方式表达你想表达的NULL,比如 -1?)

如何查看索引信息,如何分析是否正确用到索引?

show index from tablename;
explain select ……;

数据查询优化之mysql索引

标签:order by   sel   xxx   text   覆盖   har   方式   表数   需要   

人气教程排行