• 技术文章 >数据库 >MySQL

    mysql索引的最左原则是什么

    小妮浅浅小妮浅浅2021-05-20 17:43:51原创473

    1、MySQL不会使用索引的情况:非独立的列

    独立的列是指索引列不能是表达式的一部分,也不能是函数的参数。

    2、前缀索引

    如果列很长,通常可以索引开始的部分字符,这样可以有效节约索引空间,从而提高索引效率。

    3、多列索引和索引顺序

    在多数情况下,在多个列上建立独立的索引并不能提高查询性能。理由非常简单,MySQL不知道选择哪个索引的查询效率更好。

    4、避免多个范围条件

    实际开发中,我们会经常使用多个范围条件,比如想查询某个时间段内登录过的用户:

         select user.* from user where login_time > '2017-04-01' and age between 18 and 30;

    5、覆盖索引

    如果一个索引包含或者说覆盖所有需要查询的字段的值,那么就没有必要再回表查询,这就称为覆盖索引。覆盖索引是非常有用的工具,可以极大的提高性能。

    6、使用索引扫描来排序

    MySQL有两种方式可以生产有序的结果集,其一是对结果集进行排序的操作,其二是按照索引顺序扫描得出的结果自然是有序的。如果explain的结果中type列的值为index表示使用了索引扫描来做排序。

    以上就是mysql索引最左原则的介绍,希望对大家有所帮助。更多编程基础知识学习:python学习网

    专题推荐:mysql索引
    上一篇:mysql查询的执行过程 下一篇:eclipse连接mysql

    相关文章推荐

    • mysql InnoDB和MyISAM的对比• mysql中索引是什么• mysql中BTree索引的理解• mysql中B+Tree和B-Tree的区别• mysql B+Tree索引是什么• mysql哈希索引是什么• mysql如何创建哈希索引• mysql中哈希索引的使用限制• mysql全文索引是什么• mysql中explain有哪些属性• mysql中Explain命令是什么• SQL如何在mysql中查询优化• mysql中MVCC是什么意思• mysql分库分表的切分方法• mysql主从复制如何理解• mysql读写分离是什么• mysql数据库有哪些调优方法• MySQL常见命令的整理• MySQL条件查询是什么• mysql常见单行函数有哪几类• mysql分组查询是什么• mysql事务中有哪些常见问题• mysql间隙锁是什么• mysql共享锁是什么• mysql中如何共享读锁• mysql使用表锁的两种情况
    品易云

    全部评论我要评论

  • 取消发布评论发送
  • 

    Python学习网