• MYSQL索引使用注意事项


    索引使用注意事项:

    1.索引列运算

    不要在索引列上进行运算操作,否则索引将失效;

    2.字符串不加引号

    字符串类型使用时,不加引号,否则索引将失效;

    3.模糊查询

    如果仅仅是尾部模糊匹配,索引将不会失效。如果是头部匹配,索引失效;

    4.Or连接的条件

    用or分开的条件,如果or前的条件中的列有索引,二后面的列中没有索引,那么涉及的索引都不会被用到。

    5.数据分布影响

    如果MySQL评估使用索引比全表更慢,则不使用索引。

    6.最左前缀法则

    如果索引了多列(联合索引),要遵循最左前缀法则。最左前缀法则指的是查询从索引的最左列开始,并且不跳过索引中的列。如果跳跃某一列,索引将部分失效(后面的索引字段失效)。

    7.范围查询

    联合索引中,出现范围查询(>, <),范围查询右侧的列索引失效。在可以的情况下,尽量换成(>=, <=)。

    8.SQL提示

    SQL提示是优化数据库的一个重要手段,简单来说,就是在SQL语句中加入一些认为提示来达到优化操作的目的。    use index, ignore index, force index;

    9.覆盖索引

    尽量使用覆盖索引(查询使用了索引,并且需要返回的列,在该索引中已经全部能够找到),减少使用select*。

    知识小贴士:using index condition:查找使用了索引,但是需要回表查询数据

    using where, using index:查找使用了索引,但是需要的数据都在索引列中能找到,所以不需要回表查询数据。

    10.前缀索引

    语法

    create index idx_xxxx on table_name(column(n));

    前缀长度

    11.单列索引与联合索引

    单列索引:即一个索引只包含单个列

    联合索引:即一个索引包含了多个列

    在业务场景中,如果存在多个查询条件,考虑针对查询字段建立索引时,建议建立联合索引,而非单列索引。

  • 相关阅读:
    Hudi源码|Insert源码分析总结(一)(整体流程)
    用STM32F4的DMA实现高速、实时的同步并行通信——以读取高速ADC为例[原创www.cnblogs.com/helesheng]
    IDEA-关于idea在import类时,代码报红的解决方法,找不到包
    阿里CTO程立:阿里巴巴的开源历程、理念和实践
    长周期数据更新的处理
    【YOLO源码解读】
    ES关于文档的基本操作
    深入 x64
    计算机网络 --- 网络编程
    元老职员离职申请书怎么写模板,共计10篇
  • 原文地址:https://blog.csdn.net/ME_Liao_2022/article/details/134548498