Wednesday, September 8, 2010

MySQL性能优化8 - 索引工作情况

如果索引正在工作, [cci lang="mysql"]Handler_read_key[/cci] 的值将很高,这个值代表了一个行被索引值读的次数,很低的值表明增加索引得到的性能改善不高,因为索引并不经常使用。

[cci lang="mysql"]Handler_read_rnd_next[/cci] 的 值高则意味着查询运行低效,并且应该建立索引补救。这个值的含义是在数据文件中读下一行的请求数。如果正进行大量的表扫描, [cci lang="mysql"]Handler_read_rnd_next[/cci] 的 值较高,则通常说明表索引不正确或写入的查询没有利用索引,具体如下。
[cc lang="mysql"]mysql> show status like 'Handler_read%';

+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| Handler_read_first | 0 |
| Handler_read_key | 5 |
| Handler_read_next | 0 |
| Handler_read_prev | 0 |
| Handler_read_rnd | 0 |
| Handler_read_rnd_next | 2055 |
+-----------------------+-------+

6 rows in set (0.00 sec)[/cc]
从上面的例子中可以看出,目前使用的 MySQL 数据库的索引情况并不理想。

No comments:

Post a Comment