从一个外国博客引用过来的

SELECT t.TABLE_SCHEMA AS `db`,

t.TABLE_NAME AS `table`,

s.INDEX_NAME AS `index name`,

s.COLUMN_NAME AS `FIELD name`,

s.SEQ_IN_INDEX `seq IN index`,

s2.max_columns AS `# cols`,

s.CARDINALITY AS `card`,

t.TABLE_ROWS AS `est rows`,

ROUND(((s.CARDINALITY / IFNULL(t.TABLE_ROWS, 0.01)) * 100), 2) AS `sel %`

FROM INFORMATION_SCHEMA.STATISTICS s

INNER JOIN INFORMATION_SCHEMA.TABLES t ON s.TABLE_SCHEMA = t.TABLE_SCHEMA AND s.TABLE_NAME = t.TABLE_NAME

INNER JOIN (

SELECT TABLE_SCHEMA, TABLE_NAME, INDEX_NAME, MAX(SEQ_IN_INDEX) AS max_columns

FROM INFORMATION_SCHEMA.STATISTICS

WHERE TABLE_SCHEMA != 'mysql' GROUP BY TABLE_SCHEMA, TABLE_NAME, INDEX_NAME ) AS s2 ON s.TABLE_SCHEMA = s2.TABLE_SCHEMA AND s.TABLE_NAME = s2.TABLE_NAME AND s.INDEX_NAME = s2.INDEX_NAME

WHERE t.TABLE_SCHEMA != 'mysql' /* Filter out the mysql system DB */

AND t.TABLE_ROWS > 10 /* Only tables with some rows */

AND s.CARDINALITY IS NOT NULL /* Need at least one non-NULL value in the field */

AND (s.CARDINALITY / IFNULL(t.TABLE_ROWS, 0.01)) < 1.00 /* unique indexes are perfect anyway */

ORDER BY `sel %`, s.TABLE_SCHEMA, s.TABLE_NAME /* DESC for best non-unique indexes */

LIMIT 10;

blog comments powered by Disqus

mysql索引查询 with_查找mysql中的低效索引相关推荐

  1. mysql覆盖索引二次查找_mysql中关于覆盖索引的知识点总结

    如果一个索引包含(或覆盖)所有需要查询的字段的值,称为'覆盖索引'. 覆盖索引是一种非常强大的工具,能大大提高查询性能,只需要读取索引而不需要读取数据,有以下优点: 1.索引项通常比记录要小,所以My ...

  2. 开启Mysql慢查询来优化mysql

    开启Mysql慢查询来优化mysql 优化sql语句是优化数据库的一个很重要的方面,那么怎么发现那些耗时耗资源的sql语句呢,开启Mysql慢查询! 1.查看是否开启慢查询,默认情况下是关闭的.你的m ...

  3. mysql text 查询速度_数据库学习之让索引加快查询速度(四)

    数据库学习之让索引加快查询速度 目录 索引简介 mysql的索引分类 创建索引 添加与删除索引 索引简介 索引在MySQL中也叫做"键",是存储引擎用于快速找到记录的一种数据结构. ...

  4. mysql 索引类型 bitmap_理解数据库中的常见索引类型

    在数据库中,索引能加快数据库的查询速度.下面就来理解一些常见的索引类型: B-Tree Bitmap Clustered Non-unique unique 索引有很多种类型,可以为不同的场景提供更好 ...

  5. mysql千万级数据索引查询_mysql千万级数据量根据索引优化查询速度

    (一)索引的作用 索引通俗来讲就相当于书的目录,当我们根据条件查询的时候,没有索引,便需要全表扫描,数据量少还可以,一旦数据量超过百万甚至千万,一条查询sql执行往往需要几十秒甚至更多,5秒以上就已经 ...

  6. mysql sql查询json数据类型_SQL中的JSON数据类型

    SQL中的JSON数据类型 概述 MySQL支持原生JSON类型,使用JSON数据类型相较于将JSON格式的字符串存储在String型中的优势有: 存储时会自动验证JSON文本: 可以优化存储格式.存 ...

  7. mysql 子查询怎么写_MySQL中两种子查询的写法

    MySQL的测试环境 测试表如下 create table test_table2 ( id int auto_increment primary key, pay_id int, pay_time ...

  8. join on 后跟or有什么用_如果在ON子句中使用OR,MySQL将不会在JOIN中使用可用索引

    假设您有5个表格,每个表格都有一列: >房屋(编号,名称,街道编号) >街道(ID,名称) >照片(身份证,姓名) > house_photo(house_id,photo_i ...

  9. mysql索引查询 with_mysql的select语句总结与索引使用

    单表查询: 查询指定记录    select ....where 带IN的关键字查询  not in 带between and的范围查询 select column1,column2 from tab ...

最新文章

  1. windows cmd color颜色设置
  2. MS SQL SERVER 中几个函数的用法
  3. Java新鲜东西,带有标签的continue和break
  4. UNITY 多SCENE加载与编辑
  5. django orm级联_Django数据表关联关系映射(一对一、一对多、多对多)
  6. 面试智力题:天平称球
  7. 创新的迷思——2019 Microsoft Hackathon 苏州站回顾
  8. wp自定义帖子没标签_ofollow标签的作用有重大变化
  9. 微软发布8月安全公告 包含13个补丁修补22个漏洞
  10. 输入输出(I/O)流。
  11. debian安装什么mysql_安装多个mysql实例(debian版本)
  12. IE浏览器通过代码控制文档对象模式
  13. vod系统必须要用服务器吗,架设美萍VOD点播系统服务器
  14. 【内核调度、负载均衡】【find_busiest_queue】
  15. linux_常用命令
  16. 如何用ps扣字体_如何用PS的字体扣出来,改变颜色.PS如何抠图?
  17. 边缘检测之Robert算子
  18. 中国兽医参考实验室市场趋势报告、技术动态创新及市场预测
  19. 网站策划文案-论坛系统模块简介
  20. 深圳软件测试培训学习:网络基础 — ping命令(1)

热门文章

  1. Silverlight WCF 初尝小结
  2. 在VMware虚拟机中进行Ghost网刻不成功的几点提示
  3. bt服务器搭建 linux_Linux 搭建 我的世界(MC) 基岩版服务器
  4. @getmapping注解的作用_一口气说出6种,@Transactional注解的失效场景
  5. 搭建项目_跟着团子学SAP PS:项目模版搭建
  6. 【Matlab 控制】构建系统,绘制零极点
  7. 2.12 向量化更多例子-深度学习-Stanford吴恩达教授
  8. 《滚动数组》---滚动数组思想,运用在动态规划当中
  9. opnet中的例子模型
  10. ESP32的FLASH、NVS、SPIFFS、OTA等存储分布以及启动过程