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');


总结

暂时就这些

相关推荐
刘胡子大叔22 分钟前
SQL 脚本的导入顺序
数据库·sql
代码什么用1 小时前
Spring对IoC的实现
数据库·spring
hz567893 小时前
涉密视频会议设备配置指南:终端、音视频采集与配套设施选型
服务器·网络·数据库·安全·实时音视频·信息与通信·智能硬件
广州浮点FLOATLIC3 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
程序员Sunday3 小时前
MySQL 为什么使用 B+ 树索引?把范围查询、回表和覆盖索引连起来
数据库·mysql
半杯咖啡半行码3 小时前
Qt开发实战:数据库、MV 模式、QProcess与串口通信全攻略
数据库·qt
Yyyyyy~3 小时前
[ Mysql ] 库的操作
mysql
小米里的大麦4 小时前
16 MySQL 事务
数据库·mysql
西柚小萌新4 小时前
【LLM&&AI应用开发 八股文】--4.3.Agent智能体(下)
java·开发语言·数据库
Titan20244 小时前
MySQL访问个人学习笔记
笔记·学习·mysql