索引三星结构

三星索引的定义,可以先给我们对索引优化提供一个大概的思路:

满足第1颗星

取出所有的等值谓词的列,作为索引最开头的列------以任意顺序都可以。

满足第2颗星

将order by加入到索引列,不要改变这些列的顺序,但是忽略在第1步加入的索引的列。
满足第3颗星 (如果索引中的列包含了查询中需要的全部列则获得):

将查询语句中剩余的列(包括select的列)放到索引中,列在索引中添加的顺序对查询语句的性能没有影响,但是将易变的列放在最后能够降低更新的成本。

相关推荐
这个DBA有点耶6 小时前
NULL不是空——数据库里最反直觉的设计,90%新人踩过的坑
数据库·mysql·代码规范
这个DBA有点耶1 天前
SQL改写进阶:标量子查询的“隐形代价”与消除实战
数据库·mysql·架构
smallyoung1 天前
数据库乐观锁深度解析:MySQL、PostgreSQL 实战 + Spring Boot 集成指南
数据库·mysql·postgresql
数据技术说2 天前
MySQL 迁移实战——如何实现真正的"零改造"平滑切换
mysql
唐青枫6 天前
MySQL JSON 实战详解:从存储、查询、更新到 JSON_TABLE 与索引
sql·mysql
小满8786 天前
5.Mysql事务隔离级别与锁机制
mysql
元Y亨H6 天前
技术笔记:MySQL 字符集排序规则与大小写敏感性问题解决方案
mysql
这个DBA有点耶7 天前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
掉头发的王富贵7 天前
【StarRocks】极限十分钟入门StarRocks
数据库·sql·mysql
SamDeepThinking8 天前
一条UPDATE语句在MySQL 8.0中到底加了几把锁?
后端·mysql·程序员