MySQL调优-----MySQL执行原理

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

mysql调优的笔记


一、Intersection合并

多个二级索引合并与不合并的区别就在于,先回表还是先合并其他条件。

1.二级索引查询条件必须等值

2.如果是主键,可以是范围

二、Sort-Union合并

查询一个二级索引后排序,再查询一个二级索引排序,两个取并集。(可以是范围,两个都可以是范围)

三、联合索引替代Intersection索引合并(优化方法)

删除掉单独的两个二级索引,增加一个按顺序的两个联合索引。

四、驱动表与被驱动表

驱动表:第一个被执行的表,只会被查询一次

被驱动表:后查询的表,可能会查询多次

如果有一个大表和一个小表,可以让大表充当驱动表,多次查询小表

五、计算成本

IO成本大概是1,cpu成本大概是 0.2

IO成本为1 + n * 1,CPU成本为n*0.2 + 0.01 + n * 0.2。二级索引一次+回表一次查询

查询语句:EXPLAIN format = json SELECT * FROM t_user WHERE address in ('shanghaishi', 'beijingshi');


总结

暂时就这些

相关推荐
Lee川3 小时前
Milvus 实战:当 RAG 遇上向量数据库,从"玩具 Demo"到"生产可用的"那一步
前端·数据库·人工智能
网管NO.15 小时前
SQL 排序分页精讲!ORDER BY+LIMIT 全套用法,报表分页
数据库·sql
MRSM_015 小时前
InfluxDB vs TimescaleDB,谁更适合你的场景
数据库
CAE虚拟与现实6 小时前
Redis如何保证存和读的过程中数据的一致性?
数据库·redis·缓存
我爱cope9 小时前
【Agent智能体4 | 智能体AI的应用】
数据库·人工智能·职场和发展
知识分享小能手10 小时前
Flask入门学习教程,从入门到精通,数据库操作 — 知识点详解与案例代码(4)
数据库·学习·flask
我是一颗柠檬10 小时前
【MySQL全面教学】MySQL基础SQL语句Day3(2026年)
数据库·后端·sql·mysql·oracle
XS03010610 小时前
MyBatis动态SQL
数据库·sql·mybatis