美文网首页
常见索引优化手段

常见索引优化手段

作者: 何何与呵呵呵 | 来源:发表于2021-07-29 20:32 被阅读0次

1.联合索引第一个字段用范围不会走索引。
2.强制走索引,虽然使用了强制走索引让联合索引第一个字段范围查找也走索引,扫描的行rows看上去也少了点,但是最终查找效率不一定比全表扫描高,因为回表效率不高。
3.覆盖索引优化
4.in和or在表数据量比较大的情况会走索引,在表记录不多的情况下会选择全表扫描
5.like KK% 一般情况都会走索引,like KK%使用了索引下推。什么是索引下推了?可以在索引遍历过程中,对索引中包含的所有字段先做判断,过滤掉不符合条件的记录之后再回表,可以有效的减少回表次数。使用了索引下推优化后,上面那个查询在联合索引里匹配到名字是 'LiLei' 开头的索引之后,同时还会在索引里过滤age和position这两个字段,拿着过滤完剩下的索引对应的主键id再回表查整行数据。
优化总结:
1、MySQL支持两种方式的排序filesort和index,Using index是指MySQL扫描索引本身完成排序。index效率高,filesort效率低。
2、order by满足两种情况会使用Using index。

    1. order by语句使用索引最左前列。
    1. 使用where子句与order by子句条件列组合满足索引最左前列。

3、尽量在索引列上完成排序,遵循索引建立(索引创建的顺序)时的最左前缀法则。
4、如果order by的条件不在索引列上,就会产生Using filesort。
5、能用覆盖索引尽量用覆盖索引
6、group by与order by很类似,其实质是先排序后分组,遵照索引创建顺序的最左前缀法则。对于groupby的优化如果不需要排序的可以加上order by null禁止排序。注意,where高于having,能写在where中的限定条件就不要去having限定了。
索引设计原则
1、代码先行,索引后上
2、联合索引尽量覆盖条件
3、不要在小基数字段上建立索引
4、长字符串我们可以采用前缀索引,但会影响order by与group by。
5、where与order by冲突时优先where
6、基于慢sql查询做优化

核心思想:尽量利用一两个复杂的多字段联合索引,抗下你80%以上的查询,然后用一两个辅助索引尽量抗下剩余的一些非典型查询,保证这种大数据量表的查询尽可能多的都能充分利用索引,这样就能保证你的查询速度和性能了!

相关文章

  • 常见索引优化手段

    1.联合索引第一个字段用范围不会走索引。2.强制走索引,虽然使用了强制走索引让联合索引第一个字段范围查找也走索引,...

  • 索引

    查询效率 覆盖索引——可以减少树的搜索次数,显著提升性能,常见的性能优化手段。----有没有必要建立联合索引,达到...

  • 数据库

    1、常见的数据库优化手段 对查询进行优化,要尽量避免全表扫描,考虑在where及order by涉及的列上建立索引...

  • 浅析索引技术

    1. 认识索引 索引是一种常见的数据库优化手段,设计优良的索引能够大幅提升数据库的查询效率,提升并发能力。 举一个...

  • 索引问题

    索引是数据库优化中最常见也 最重要的手段之一,通过索引通常可以帮助用户解决大多数的SQL性能问题。 (Mysql的...

  • 性能优化-索引

    概述 索引优化是对查询性能优化最有效的手段,索引能轻易将查询性能提高几个数量级。 索引类型 在Mysql中,索引是...

  • 高性能MySQL--索引 笔记

    索引概述 索引即key 在存储引擎层实现,不同引擎工作方式不同 索引优化--最好的查询优化手段,可提效几个数量级 ...

  • [数据库][mysql]: 索引优化

    为什么要优化mysql 从几个方面优化 常见的jion链接 常见的jion链接 如何优化mysql 索引简介 是什...

  • 数据库

    [toc] 索引 索引优化是对查询性能优化的最有效手段。是存储引擎能够快速定位记录的秘密武器。 索引的数据结构 I...

  • SQL 常用优化手段总结 - 索引的应用

    系列文章回顾SQL 常用优化手段总结 - 分析 SQL 语句的一般步骤SQL 常用优化手段总结 - 索引的应用SQ...

网友评论

      本文标题:常见索引优化手段

      本文链接:https://www.haomeiwen.com/subject/slqtvltx.html