存储引擎
- 查看支持的引擎
show ENGINES;
存储引擎特点
存储引擎选择
索引
图中二叉树索引结构只是一个示意图, 非真实的索引结构
优缺点
索引结构
索引分类
索引语法
性能分析
- 查看执行频次
show global status like 'Com_______';
- 慢查询日志
查看是否开启成功
show variables like 'slow_query_log';
- show profiles
show profiles能够在做sql优化时帮助我们了解事件都耗费到哪里去了.
查看当前mysql是否支持profile操作
select @@have_profiling;
默认profiling是关闭的, 可以通过set在session/global级别开启profiling
-- 查看状态
select @@profiling;
-- 开启
set profiling = 1;
show profiles
查看耗时情况
- explain执行计划
使用规则
最左前缀法则
在业务范围允许的情况下, 尽量使用>=或<=
索引列运算
隐式类型转换
模糊查询
or连接的条件
数据分布影响
sql提示
覆盖索引&回表查询
前缀索引
选择性参考
select count(distinct substring(name, 0, 20))/count(*) from tb_user;
单列索引&联合索引