• 技术文章 >数据库 >MySQL

    mysql索引的使用原则

    小妮浅浅小妮浅浅2021-06-08 15:09:09原创183

    1、最左前缀原则。一个联合索引(a,b,c),如果有一个查询条件是a,有b,那么他就走索引,如果有一个查询条件没有a,那么他就不走索引

    2、使用唯一的索引。有多个重复值的列,索引效果最差。比如存储名字的列有不同的值,很容易区分每一行。用来记录性别的列,只包括男和女。无论搜索哪个值,都会得到大约一半的行,这样的索引对性能的提高不够。

    3、不要过度索引。每个额外的索引都要占用额外的磁盘空间,降低写作的性能。修改手表内容时,索引必须更新,有时可能需要重构。所以索引越多,花的时间就越长。

    4、必须设置一个主键。聚簇索引如果不指定主键,InnoDB会自动指定主键,这是我们看不到的。反正要生成一个主键,不如我们设置,以后在某些搜索条件下也可以使用主键的聚簇索引。

    5、主键建议使用自增id,而不是uuid。聚簇索引每页数据都是排序的,页面之间也是排序的。如果是uuid,肯定是随机的,可能会从中间插入,导致页面分裂,产生很多表格碎片。如果是自增的,那么它有从小到大自增的,有顺序的,那么插入的时候就会加到当前索引的后续位置。当一页满了,会自动打开一个新页面。

    6、索引列不能参与计算,保持列干净。

    以上就是mysql非聚簇索引的介绍,希望对大家有所帮助。更多mysql学习指路:MySQL

    专题推荐:mysql索引
    上一篇:mysql非聚簇索引的介绍 下一篇:mysql如何使用filesort排序

    相关文章推荐

    • mysql分片原则有哪些• mysql代理架构是什么• mysql中MVVC的介绍• mysql InnoDB存储引擎是什么• mysql MyISAM存储引擎的特性• mysql Memory引擎是什么• mysql mysqldump如何使用• mysql隐藏索引的介绍• mysql设置持久化的方法• mysql窗口函数是什么• mysql如何修改事务隔离级别• mysql中4种隔离级别• mysql数据库范式是什么• mysql删除索引的方法• mysql前缀索引是什么• mysql垂直分割是什么• mysql水平分割如何理解• mysql慢查询日志是什么• mysql设计字段的原则总结• mysql如何使用语句创建表• mysql使用foreign key创建外键• mysql关键字的执行顺序分析• mysql如何删除索引• mysql如何修改索引• mysql存储过程的优缺点• mysql查询缓存的原理
    品易云

    全部评论我要评论

  • 取消发布评论发送
  • 

    Python学习网