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


总结

暂时就这些

相关推荐
李广坤17 小时前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
Turnip12022 天前
深度解析:为什么简单的数据库"写操作"会在 MySQL 中卡住?
后端·mysql
爱可生开源社区2 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1772 天前
《从零搭建NestJS项目》
数据库·typescript
加号33 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏3 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐3 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
百锦再3 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip
WeiXin_DZbishe3 天前
基于django在线音乐数据采集的设计与实现-计算机毕设 附源码 22647
javascript·spring boot·mysql·django·node.js·php·html5
tryCbest3 天前
数据库SQL学习
数据库·sql