摘自:http://www.chenyajun.com/2009/01/02/1623 查询优化过程 查询优化器 一个查询通常有很多种不同的但是产生相同结果的执行方式,优化器要找到最好的。 MySQL使用基于代价的优化器,它意味着它尽力预计不同执行计划的代价并选择最不昂贵的,代价的单位是一个4k的数据页的次数。你可以通过查看 Last_query_cost看到优化器预计的代价: mysql> SELECT SQL_NO_CACHE COUNT(*) FROM sakila.film_actor; +----------+ | count(*) | +----------+ | 5462 | +----------+ mysql> SHOW STATUS LIKE 'last_query_cost'; +-----------------+-------------+ | Variable_name | Value | +-----------------+-------------+ | Last_query_cost | 1040.599000 | +-----------------+-------------+ 这意味着它要随机读取1040个数据页。它基于统计而估计:每个表或者索引的page数量,索引中不同值的比例,行和key的长度,key的分布。 优化器估计时并不包括任何类型的cache所产生的效果——它假定每次读都是一个磁盘IO操作。
Browsing the archives for the derived tag
-
-
my.cnf最详细解释 | 尘土: [...] 原文:my.cnf最详细解释 [...]...
-
help: 我在做apache支持泛解析的时候有...
-
MongoDB 索引数据类型优化,节省60%内存 | haohtml's blog: [...] 原文链接:How to save 200% RAM b...
-
[教程]CentOS下安装lnmp教程(最新版2012-02-05) | haohtml's blog: [...] 安装Memcached [...]...
-
[教程]CentOS下安装lnmp教程(最新版2012-02-05) | haohtml's blog: [...] 安装Memcached [...]...
-
ㄨ销声匿迹、linux: 呵呵,不错,,虽然说比较简单...
-
Meta
Google Search
-
Recent Posts
Blogroll
UED