![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mysql性能优化
文章平均质量分 84
TPBoreas
我就随便写写
展开
-
索引优化 最佳实践
没走索引原因:mysql内部优化器会根据检索比例、表大小等多个因素整体评估是否使用索引。比如这个例子,可能是由于单次数据量查询过大导致优化器最终选择不走索引。如果索引了多列,要遵守最左前缀法则。指的是查询从索引的最左前列开始并且不跳过索引中的列。like KK%相当于=常量,%KK和%KK% 相当于范围。问题:解决like'%字符串%'索引不被使用的方法?a)使用覆盖索引,查询字段必须是建立覆盖索引字段。b)如果不能使用覆盖索引则可能需要借助搜索引擎。< 小于、 > 大于、 = 这些,原创 2024-03-25 00:03:18 · 523 阅读 · 1 评论 -
性能调休之Explain详解
mysql执行计划explain结果里的key有使用索引,如果select后面查询的字段都可以从这个索引的树中获取,这种情况一般可以说是用到了覆盖索引,extra里一般都有using index;覆盖索引一般针对的是辅助索引,整个查询结果只通过辅助索引就能拿到结果,不需要通过辅助索引树找到主键,再通过主键去主键索引树里获取其它字段值。原创 2024-03-24 21:51:20 · 1009 阅读 · 0 评论 -
深入理解Mysql索引底层数据结构与算法
B+树,每个节点所有的元素是有序的,(这点B树也具备,从左到右,递增排序)B+树有个相邻节点的指针,折半二分查找算法,快速定位30在15-56之间,查找到了这一页的数据地址,把这一页的数据地址加载到内存,然后下一页load到内存,然后再比较。但Mysql底层,没有用这么纯粹的B树,而是在B树上,做了很多优化,Mysql底层用的B+树。查找次数跟树的高度紧密相关,不管树多大,树的高度可控,对红黑树做一点点改造,把红黑树的高度控制到原创 2024-03-10 18:47:53 · 908 阅读 · 1 评论