MySQL-成本与统计数据学习
MySQL执行一个查询可以有不同的执行方案,它会选择其中成本最低,或者说代价最低的那种方案去真正的执行查询
基于成本的优化步骤
- 根据搜索条件,找出所有可能使用的索引
- 计算全表扫描的代价
- 计算使用不同索引执行查询的代价
- 对比各种执行方案的代价,找出成本最低的那一个
|
|
MySQL执行一个查询可以有不同的执行方案,它会选择其中成本最低,或者说代价最低的那种方案去真正的执行查询
|
|
innodb_flush_log_at_trx_commit
配置。
|
|
MySQL在一般情况下执行一个查询时最多只会用到单个二级索引,但是,在这些特殊情况下也可能在一个查询中使用到多个二级索引,设计MySQL的把这种使用到多个索引来完成一次查询的执行方法称之为:index merge
所有的索引合并往往还是需要看数据回表的数量与 mysql 的优化器!优化器只有在单独根据搜索条件从某个二级索引中 获取的记录数比较少,通过Union索引合并后进行访问的代价比全表扫描更小时才会使用Union索引合并
|
|