优化器可以做什么?
发布时间:2024-09-09 13:20:28 点击量:
MySQL 的优化器能处理哪些优化类型呢?
举两个简单的例子:
1、当我们对多张表进行关联查询的时候,以哪个表的数据作为基准表。
2、有多个索引可以使用的时候,选择哪个索引。
实际上,对于每一种数据库来说,优化器的模块都是必不可少的,他们通过复杂的算法实现尽可能优化查询效率的目标。
如果对于优化器的细节感兴趣,可以看看《数据库查询优化器的艺术-原理解析与SQL性能优化》。
但是优化器也不是万能的,并不是再垃圾的SQL 语句都能自动优化,也不是每次都能选择到最优的执行计划,大家在编写SQL 语句的时候还是要注意。?
如果我们想知道优化器是怎么工作的,它生成了几种执行计划,每种执行计划的cost是多少,应该怎么做?
?