(五)2.3 查看索引使用情况

原创 2016年08月29日 16:45:35
   

   查看索引使用情况

   通过show status like 'Handler_%'查看索引的使用情况
   执行show status like 'Handler_%'   查询结果如下:
Handler_commit 2273182376
Handler_delete 13147785
Handler_discover 0
Handler_prepare 929306702
Handler_read_first 364523984
Handler_read_key 4448663907
Handler_read_last 3671319
Handler_read_next 78418362615
Handler_read_prev 7757665653
Handler_read_rnd 703361165
Handler_read_rnd_next 7.33716E+11
Handler_rollback 509971551
Handler_savepoint 0
Handler_savepoint_rollback 0
Handler_update 313811947
Handler_write 3789035272
       

   handler_read_key:根据索引读取行的请求数。如果该值很大,说明你的查询和表都建立了很好的索引,表明索引效率的很高   Handler_read_rnd_key:根据固定位置读取行的请求数。如果你执行很多需要排序的查询,该值会很高。你可能有很多需要完整表扫描的查询,或者你使用了不正确的索引用来多表查询。      
   Handler read rnd next:从数据文件中读取行的请求数。如果你在扫描很多表,该值会很大。通常情况下这意味着你的表没有做好索引,或者你的查询语句没有使用好索引字段。


查看某个表索引
   show INDEX from user_device;

   SHOW keys from user_device;
   

   Non_unique: 如果索引中不包括重复的词,则为0,如果包括则为1。
   Key_name: 索引名称
   Seq_in_index: 索引中的列序列号,从1开始
   Column_name: 列名称
   Collation: 列以什么的存储方式存储在索引中,在Mysql中值A代表升序。
Cardinality :
   An estimate of the number of unique values in the index. This is updated by running ANALYZE TABLE or myisamchk -a. Cardinality is counted based on statistics stored as integers, so the value is not necessarily exact even for small tables. The higher the cardinality, the greater the chance that MySQL uses the index when doing joins.

   1. 列值代表的是此列中存储的唯一值的个数(如果此列为primary key 则值为记录的行数)
   2. 列值只是个估计值,并不准确。
   3. 列值不会自动更新,需要通过analyze table来进行更新。
   4. 列值的大小影响join时是否选用这个index的判断。
   5. 初建index时,MyISAM的表cardinality的值为null,InnoDB的表cardinality的值大概为行数。
   6. MyISAM与InnoDB对于cardinality的计算方式不同。


   Sub_part: 如果列只是被部分地编入索引,则为被编入索引的字符的数目。如果整列被编入索引,则为NULL。
   Packed: 指示关键字如何被压缩。如果没有被压缩,则为NULL。
   Null:  如果该列中含有Null,则YES,如果没有则该列含有NO。
   Index_type: 用过的索引方法(BTREE,FULLTEXT,HASH,RTREE)
   comment: 备注
   Index_comment: 索引备注


部分来自网络...


版权声明:本文为博主原创文章,转载请标明出处。

相关文章推荐

查看数据库空间页。表空间页。索引空间页。索引碎片。日志空间的使用情况。

--111-----------------------------------------------------------------------------------------------...
  • SQL77
  • SQL77
  • 2012年07月10日 21:29
  • 1360

怎样获得SQL Server索引使用情况

原文出自: http://www.mssqltips.com/sqlservertip/1239/how-to-get-index-usage-information-in-sql-server/ ...

MySQL ORDER BY 索引使用情况

MySQL索引通常是被用于提高WHERE条件的数据行匹配或者执行联结操作时匹配其它表的数据行的搜索速度。 MySQL也能利用索引来快速地执行ORDER BY和GROUP BY语句的排序和分组...

Sql Server 索引使用情况及优化的相关 Sql

Sql Server 索引使用情况及优化的相关 Sql Sql Server 索引使用情况及优化的相关 Sql 语句,非常好的SQL语句,记录于此:   --Begin Index(...
  • wxzyq
  • wxzyq
  • 2011年11月13日 09:42
  • 511

MySQL 5.5 分区性能测试之索引使用情况

转 http://blog.csdn.net/m582445672/article/details/7800694 1.创建一个测试表 [sql] view plaincopy...

查看Oracle表空间使用情况

  • 2014年03月27日 16:05
  • 2KB
  • 下载

PostgreSQL中主键索引为什么不能被查询利用到?---索引使用情况一例

有朋友A问: where  username in ('张三','李四');,username会不会走索引呢? 有朋友B、C、D等回答: 走不走索引和很多东西有关系的,走索引也不一定就效率高。 ...
  • fly2nn
  • fly2nn
  • 2017年03月13日 18:56
  • 1036

查看表空间使用情况

  • 2011年10月11日 16:13
  • 2KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:(五)2.3 查看索引使用情况
举报原因:
原因补充:

(最多只允许输入30个字)