MySQL 查询优化器

MySQL 使用基于成本的优化器,它将尝试预测一个查询使用某种执行计划时的成本,并选择其中成本最小的一个

可以通过查询当前会话的 Last_query_cost 的值来得知 MySQL 计算的当前查询的成本:

mysql> SELECT SQL_NO_CACHE count(*) FROM payment;
mysql> SHOW STATUS LIKE 'Last_query_cost';
+-----------------+-------------+
| Variable_name   | Value       |
+-----------------+-------------+
| Last_query_cost | 3314.199000 |
+-----------------+-------------+

这个结果表示,MySQL 的优化器认为大概需要做 3314 个数据页的随机查找才能完成上面的查询。

最后更新于