开发者社区> 问答> 正文

MySQL 索引使用有哪些注意事项呢?

MySQL 索引使用有哪些注意事项呢?

展开
收起
Carice 2021-10-16 21:15:59 606 0
1 条回答
写回答
取消 提交回答
  • 网络规划设计师、敏捷专家、CISP、ITSS服务经理、ACA全科目、ACP4项、ACE、CBP、CDSP、CZTP等。拥有 PRINCE2 Foundation/Practitioner、CCSK、ITIL、ISO27001、PMP等多项国际认证。 专利5+、期刊10+、知识产权师。核心期刊审稿人。

    可以从三个维度回答这个问题:索引哪些情况会失效,索引不适合哪些场景,索引规则

    索引哪些情况会失效

    查询条件包含or,可能导致索引失效
    如何字段类型是字符串,where时一定用引号括起来,否则索引失效
    like通配符可能导致索引失效。
    联合索引,查询时的条件列不是联合索引中的第一个列,索引失效。
    在索引列上使用mysql的内置函数,索引失效。
    对索引列运算(如,+、-、*、/),索引失效。
    索引字段上使用(!= 或者 < >,not in)时,可能会导致索引失效。
    索引字段上使用is null, is not null,可能导致索引失效。
    左连接查询或者右连接查询查询关联的字段编码格式不一样,可能导致索引失效。
    mysql估计使用全表扫描要比使用索引快,则不使用索引。
    
    

    索引不适合哪些场景

    数据量少的不适合加索引
    更新比较频繁的也不适合加索引
    区分度低的字段不适合加索引(如性别)
    
    

    索引的一些潜规则

    覆盖索引
    回表
    索引数据结构(B+树)
    最左前缀原则
    索引下推
    
    2021-10-16 21:22:45
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像