我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL 中的查询统计

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL 中的查询统计

为执行的查询收集的重要统计信息,包括时间、临时表、索引、联接等,都收集在“查询统计 SQL 编辑器结果”选项卡中(请参阅以下两图)。

要求

  • 启用查询,并收集性能架构统计信息。

  • performance_schema 已启用语句检测。

SQL 编辑器:查询统计

视觉解释计划

通过利用增强型 JSON 格式中包含的附加数据,可视化解释功能可创建并呈现 MySQL EXPLAIN 语句的可视化描述。所有 EXPLAIN 格式,包括标准格式、原始扩展 JSON 和可视化查询计划,都可以在 MySQL Workbench 中用于执行查询。

直观地演示使用

在 SQL 编辑器中执行查询,然后从查询结果菜单中选择“执行过程”以接收执行计划的直观说明。除了默认的可视化解释视图之外,执行计划还包含一个表格解释视图,类似于您在 MySQL 客户端中运行 EXPLAIN 时看到的内容。有关 MySQL 如何执行语句的详细信息,请参阅使用 EXPLAIN 优化查询。

视觉解释约定

视觉解释图应该从下到上、从左到右阅读。下面的图表示例中给出了用于表示视觉解释计划的各种元素的图形、文本和信息约定的概述。要了解更多详细信息,请参阅 -

  • 图形标准

  • 信息和文本约定

第一张图的视觉解释图提供了以下查询的视觉描述。

select  * FROM employee_table

视觉解释示例

图形约定

  • 标准盒子:桌子

  • 圆角框:GROUP 和 SORT 等操作

  • 框架框:子查询

  • 钻石:连接

文本和信息约定

  • 框下方的标准文本:表(或别名)名称

  • 框下方的粗体文本:使用的键/索引

  • 方框右上角的数字:过滤后表格中使用的行数

  • 方框左上角的数字:访问该表的相对成本(需要 MySQL 5.7 或更高版本)

  • 嵌套循环(或散列连接)菱形右侧的数字:JOIN 生成的行数

  • 菱形上方的数字:JOIN 的相对成本(需要 MySQL 5.7 或更高版本)

下表显示了视觉解释图中使用的相关颜色和描述。有关成本估算的详细信息,请参阅优化器成本模型。

视觉解释图信息

系统名称

颜色

可视化图表上的文本

工具提示相关信息

系统

蓝色

单行:系统常量

成本非常低

常量

蓝色

单行:常量

成本非常低

EQ_REF

绿色

唯一键查找

低成本——优化器能够找到可用于检索所需记录的索引。速度很快,因为索引搜索直接指向包含所有行数据的页面

参考

绿色

非唯一键查找

低-中 -- 如果匹配行数较少,则为低;随着行数的增加而更高

全文

黄色

全文索引搜索

专门的全文搜索。低——针对这种专门的搜索要求

REF_OR_NULL

绿色

按键查找 + 获取 NULL 值

低-中——如果匹配的行数很少;随着行数的增加而更高

INDEX_MERGE

绿色

索引合并

中——在查询中寻找更好的索引选择以提高性能

UNIQUE_SUBQUERY

橙色

子查询表中的唯一键查找

低 -- 用于高效的子查询处理

INDEX_SUBQUERY

橙色

子查询表中的非唯一键查找

低 -- 用于高效的子查询处理

范围

橙色

索引范围扫描

中 -- 部分索引扫描

索引

红色

完整索引扫描

高——特别是对于大索引

全部

红色

全表扫描

非常高 - 对于大型表来说成本非常高,但对于小型表影响较小。找不到该表的可用索引,这迫使优化器搜索每一行。这也可能意味着搜索范围太广,索引将毫无用处。

未知

黑色

未知

注意:这是默认值,以防无法确定匹配

结论

在本文中,我们学习了如何在 MySQL Workbench 中获取查询统计信息以及它同时具有哪些不同特征。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL 中的查询统计

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL 中的查询统计

为执行的查询收集的重要统计信息,包括时间、临时表、索引、联接等,都收集在“查询统计 SQL 编辑器结果”选项卡中(请参阅以下两图)。要求启用查询,并收集性能架构统计信息。performance_schema 已启用语句检测。SQL
2023-10-22

mySql关于统计数量的SQL查询操作

我就废话不多说了,大家还是直接看代码吧~select project_no, sum(case when device_state=0 then 1 else 0 end)as offTotal , sum(case when device
2022-05-26

MySQL中怎么计算查询结果的总数

要计算查询结果的总数,可以使用COUNT(*)函数来统计查询结果集中的行数。例如,以下是一个示例查询,用于计算一个表中满足特定条件的行数:SELECT COUNT(*) AS total_countFROM table_nameWH
MySQL中怎么计算查询结果的总数
2024-04-09

怎么在MySQL中使用sum、case和when优化统计查询

怎么在MySQL中使用sum、case和when优化统计查询?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。表结构如下:CREATE TABLE `statist
2023-06-14

mysql 根据date做年,月,日分组统计查询

使用 YEAR(), MONTH(), DAY() 来获取年月日SELECT YEAR(application_date) as years, count(1) FROM patent GROUP BY YEAR(application_date) ORDER
mysql 根据date做年,月,日分组统计查询
2015-08-27

编程热搜

目录