show index  之Cardinality

官方文档的解释:

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. cardinality简单的说就是,你索引列的唯一值的个数,既基数。

如果是复合索引就是唯一组合的个数。
(需要注意的是这个值并不是特别准确的,每执行下命令,这个值可能都会不同)

2. 这个数值将会作为mysql优化器对语句执行计划进行判定时依据。

如果唯一性太小,那么优化器会认为,这个索引对语句没有太大帮助,而不使用索引。

如果cardinality值越大,就意味着,使用索引能排除越多的数据,执行也更为高效, 这个值越大在做表连接的时候,就越有机会选择这个索引。。

3. MyISAM存储引擎与InnoDB存储引擎在NULL上对于Cardinality的计算方式不同

例如:
a,b,c
1,1,1
1,1,2
1,2,1
1,2,2
2,1,1
2,1,2
2,2,1
2,2,2
假如你对a列作索引,那么它的cardinality就是2,因为此列只有1和2两个值。
假如你对a,b列作复合索引,那么它的cardinality就是4,因为这两列有(1,2),(1,1),(2,1),(2,2)这几种组合。
假如你对a,b,c作复合索引,那么它的cardinality就是8.........

show index 之Cardinality (mysql)的更多相关文章

  1. 通过force index了解的MySQL查询的性能优化

    查询是数据库技术中最常用的操作.查询操作的过程比较简单,首先从客户端发出查询的SQL语句,数据库服务端在接收到由客户端发来的SQL语句后, 执行这条SQL语句,然后将查询到的结果返回给客户端.虽然过程 ...

  2. MySQL Index详解

    FROM:http://blog.csdn.net/tianmo2010/article/details/7930482 ①MySQL Index 一.SHOW INDEX会返回以下字段 1.Tabl ...

  3. 【Mysql优化】key和index区别

    mysql的key和index多少有点令人迷惑,这实际上考察对数据库体系结构的了解的.    1).key 是数据库的物理结构,它包含两层意义,一是约束(偏重于约束和规范数据库的结构完整性),二是索引 ...

  4. MySQL 优化之 ICP (index condition pushdown:索引条件下推)

    ICP技术是在MySQL5.6中引入的一种索引优化技术.它能减少在使用 二级索引 过滤where条件时的回表次数 和 减少MySQL server层和引擎层的交互次数.在索引组织表中,使用二级索引进行 ...

  5. MySQL 执行计划中Extra(Using where,Using index,Using index condition,Using index,Using where)的浅析

      关于如何理解MySQL执行计划中Extra列的Using where.Using Index.Using index condition,Using index,Using where这四者的区别 ...

  6. MySQL 索引 INDEX

    索引用于快速找出在某列中有特定值的行. 不使用索引,MySQL必须从第一条记录开始读完整个表,直到找到相关的行,表越大,查询数据所花费的时间就越多,如果表中查询的列有一个索引,MySQL能够快速到达一 ...

  7. 【mysql】Innodb三大特性之adaptive hash index

    1.Adaptive Hash Indexes 定义 If a table fits almost entirely in main memory, the fastest way to perfor ...

  8. 转:MySQL InnoDB Add Index实现调研

    MySQL InnoDB Add Index实现调研 MySQL Add Index实现 MySQL各版本,对于add Index的处理方式是不同的,主要有三种: Copy Table方式 这是Inn ...

  9. mysql use index() 优化查询

    mysql use index() 优化查询 FORCE INDEX/IGNORE INDEX 的语法: SELECT *** FROM TABLE [{USE|IGNORE|FORCE} INDEX ...

随机推荐

  1. Remember that ordinal parameters are 1-based!

    问题发生的原因是:hql语句里不需要参数,却添加了一个参数,删掉添加参数的语句就可以了!

  2. HTML的列表标签

    一.上下层列表标签:<dl>..</dl>: 上层dt 下层dd:封装的内容会被自动缩进的效果 <dl> <dt>运动户外</dt> < ...

  3. 【笨嘴拙舌WINDOWS】tagTEXTMETRIC结构

    tagTEXTMETRIC用于定义在window输出文字时字的大小,其结构如下: 我在窗体上写了两句话,来详细解剖该结构(在MM_TEXT模式下输出) tmHeight表示一行文字的高度.改例中值为1 ...

  4. 总结css兼容问题

    目前主流浏览器的兼容性做的都比较好了,本文主要针对IE6,7的不兼容问题进行解决. 1.有浮动存在时,计算一定要精确,不要让内容的宽高超出我们所设置的宽高,IE6下,内容会撑开设置好的高度. 解决方法 ...

  5. MAC OSX 下安装Cscope

    续前文,搞定CTAGS之后,需要被搞定的是cscope,依旧是上网拖一把,具体过程如下   #1 下载cscope最新版本 http://cscope.sourceforge.net/#downloa ...

  6. 【转】ubuntu下安装eclipse以及配置python编译环境

    原文网址:http://blog.csdn.net/wangpengwei2/article/details/17580589 一.安装eclipse 1.从http://www.eclipse.or ...

  7. IOS 单例 创建方式

    @implementation Me static Car *sharedInstance= nil;//声明一个静态对象引用并赋为nil +(Me *) sharedInstance//声明类方法( ...

  8. delphi 怎么把image上的图片粘贴到剪切板上

    这个给你一个简单的代码,仅提供思路. uses Clipbrd; //引用单元 procedure TForm1.Button1Click(Sender: TObject); var Bmp: TBi ...

  9. elasticsearch-head 的搭建

    elasticsearch-head 全部是js和html5写的,elasticsearch 全部都是http的接口, 这样,只需要简单地本地配置一个虚拟站点,就可以搭建  elasticsearch ...

  10. 改进duilib的richedit控件的部分功能

    转载请说明原出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/41208207 如果要使用透明异形窗体功能,首先要改进duilib库让他本 ...