MySQL CARDINALITY确认索引选择性
2017-12-26 11:50
183 查看
SELECT
t.TABLE_SCHEMA,t.TABLE_NAME,INDEX_NAME, CARDINALITY, TABLE_ROWS,
CARDINALITY/TABLE_ROWS AS SELECTIVITY -- 得到选择性
FROM
TABLES t, -- 查询的表一,TABLES
(
SELECT
table_schema,
table_name,
index_name,
cardinality
FROM STATISTICS
WHERE (table_schema,table_name,index_name,seq_in_index) IN (
SELECT
table_schema,
table_name,
index_name,
MAX(seq_in_index)
FROM
STATISTICS
GROUP BY table_schema , table_name , index_name )
) s -- 查询的表二,就是上面3.2的查询结果
WHERE
t.table_schema = s.table_schema -- 通过库关联
AND t.table_name = s.table_name -- 再通过表变量
AND t.table_schema = 'employees' -- 指定某一个库名
ORDER BY SELECTIVITY;
linux技术交流群:295294329
t.TABLE_SCHEMA,t.TABLE_NAME,INDEX_NAME, CARDINALITY, TABLE_ROWS,
CARDINALITY/TABLE_ROWS AS SELECTIVITY -- 得到选择性
FROM
TABLES t, -- 查询的表一,TABLES
(
SELECT
table_schema,
table_name,
index_name,
cardinality
FROM STATISTICS
WHERE (table_schema,table_name,index_name,seq_in_index) IN (
SELECT
table_schema,
table_name,
index_name,
MAX(seq_in_index)
FROM
STATISTICS
GROUP BY table_schema , table_name , index_name )
) s -- 查询的表二,就是上面3.2的查询结果
WHERE
t.table_schema = s.table_schema -- 通过库关联
AND t.table_name = s.table_name -- 再通过表变量
AND t.table_schema = 'employees' -- 指定某一个库名
ORDER BY SELECTIVITY;
linux技术交流群:295294329
相关文章推荐
- mysql如何确认复合索引有使用到哪些索引字段的测试
- [慢查优化]建索引时注意字段选择性 & 范围查询注意组合索引的字段顺序
- 抓出where使用且未建索引且指定选择性的列
- 索引选择性
- 索引的选择性
- 索引选择性
- 网络请求,索引删除,弹框确认
- 关于mysql 索引自动优化机制: 索引选择性(Cardinality:索引基数)
- mysql前缀索引的索引选择性
- MySQL索引之前缀索引和索引选择性
- [慢查优化]建索引时注意字段选择性 & 范围查询注意组合索引的字段顺序
- MySQL前缀索引和索引选择性
- 索引选择性 集群因子 高度
- 学习笔记--mysql索引(三) 独立的列,前缀索引和索引的选择性
- 索引的选择性
- 关于mysql 索引自动优化机制: 索引选择性(Cardinality:索引基数)
- MySQL前缀索引和索引选择性
- 索引的选择性
- 索引的选择性
- 使用Explain关键字来确认是否可以通过索引来解决Order BY速度问题。