全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

为什么查询information_schema下的TABLES这么慢?

发布时间:2023-10-13 15:37:38
发布人:xqq

一、为什么查询information_schema下的TABLES这么慢

一般有两个原因。1、是元数据太多,就比如你的例子总共七万多张表,information_schema在统计时需要挨个去show table status,需要花费的时间较长。2、是参数innodb_stats_on_metadata设置为on的情况下,具体说明参考官方文档,可以将其设置为off对比下效果。

优化INFORMATION_SCHEMA查询

尝试在子句中使用数据库和表名的常量查找值WHERE

您可以按如下方式利用此原则:

若要查找数据库或表,请使用计算结果为常量的表达式,例如文本值、返回常量的函数或标量子查询。避免使用非常量数据库名称查找值(或无查找值)的查询,因为它们需要扫描数据目录才能查找匹配的数据库目录名称。在数据库中,请避免使用非常量表名查找值(或无查找值)的查询,因为它们需要扫描数据库目录才能查找匹配的表文件。

此原则适用于下表中显示的表,下表显示了常量查找值使服务器能够避免目录扫描的列。例如,如果要从INFORMATION_SCHEMATABLES,在子句中使用常量查找值可以避免数据目录扫描。

延伸阅读:

二、数据库和 SQL 概念

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它的产生距今已有六十多年。随着信息技术和市场的发展,数据库变得无处不在:它在电子商务、银行系统等众多领域都被广泛使用,且成为其系统的重要组成部分。

数据库用于记录数据,使用数据库记录数据可以表现出各种数据间的联系,也可以很方便地对所记录的数据进行增、删、改、查等操作。

结构化查询语言(Structured Query Language)简称 SQL,是上世纪 70 年代由 IBM 公司开发,用于对数据库进行操作的语言。更详细地说,SQL 是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,同时也是数据库脚本文件的扩展名。

#it技术干货

相关文章

低代码平台的开发,数据库是怎么选择的?

低代码平台的开发,数据库是怎么选择的?

2023-10-13
交易所基于内存的撮合一般使用什么数据库?

交易所基于内存的撮合一般使用什么数据库?

2023-10-13
事务并发控制s2pl和s2pl有何区别?

事务并发控制s2pl和s2pl有何区别?

2023-10-13
如何将Word中大量格式重复的文本转换成表格或者录入数据库?

如何将Word中大量格式重复的文本转换成表格或者录入数据库?

2023-10-13

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取