社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  DATABASE

如何检查MySql中的数据字典大小

vinieth • 4 年前 • 759 次点击  

如何检查我当前的数据字典缓存大小?

仅供参考: ->数据字典缓存-存储打开的表信息。因此,数据字典缓存的增加取决于打开的表的数量。

->table_open_cache是一个变量,它包含一个值,mysql可以拥有打开的表总数。我问当前的数据字典大小,其中有打开的表的数据。(当前数据字典大小的状态)。

MySql版本-5.7.18

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/49843
 
759 次点击  
文章 [ 2 ]  |  最新文章 4 年前
Rick James
Reply   •   1 楼
Rick James    5 年前

这些变量可能相关:

table_open_cache
table_open_cache_instances
table_definition_cache
schema_definition_cache  (new in 8.0)
tablespace_definition_cache  (new in 8.0)

每个缓存都是固定大小的,可在启动时配置。(在某些情况下,在较新的版本上,它可以动态更改。)的文档 5.7 比如说 table_open_cache 是“动态的”

这些全局状态值可能相关:

Open_table_definitions
Opened_table_definitions
Opened_tables
Opened_files
Table_open_cache_hits
Table_open_cache_misses
Table_open_cache_overflows

命中/未命中/溢出为您提供了关于 表缓存 足够大,但不是最佳尺寸。

在5.7及之前版本中,数据字典来自 .frm 分散在磁盘上的文件。在8.0中,它位于一组InnoDB表中。据推测,一个合适的查询可以提供一些相关的度量。

也可以看到像 performance_schema_max_table_handles .

Ravi Chauhan
Reply   •   2 楼
Ravi Chauhan    5 年前

可以存储在定义缓存中的表定义数。如果使用大量表,则可以创建大型表定义缓存以加快表的打开速度。与普通表缓存不同,表定义缓存占用的空间较少,并且不使用文件描述符。最小值是400。默认值基于以下公式,上限为2000:

MIN(400 + table_open_cache / 2, 2000)

更多细节请点击此处 https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_table_definition_cache