我刚刚发现table_definition_cache
并且我正在尝试决定将其设置为什么。由于性能问题,我弄乱了我的配置。
在一台服务器上,我有 36599 个表,当我运行SHOW GLOBAL STATUS
Opened tables 的值是 930312。table_definition_cache
设置为 20k。
在另一台服务器上,我有 45349 个表,当我运行SHOW GLOBAL STATUS
Opened tables 的值是 94383。table_definition_cache
设置为 40k。
我不确定将它设置为什么table_definition_cache
值,因为服务器似乎做了很多打开/交换。
两台服务器都是 CentOS 6 并且正在运行
服务器版本:5.6.32-78.0 Percona Server (GPL),78.0 版,修订版 8a8e016
感谢您的关注!我非常感谢您的反馈。
我们正在运行 10.2.44-MariaDB-log MariaDB 服务器。现在我正在创建具有这种结构的表
Primary('id')
UniqueIndex('colA', 'colB', 'colc');
Index('cola')
Index('colb')
Index('colc')
Run Code Online (Sandbox Code Playgroud)
我想知道,为每一列设置这些索引是否有意义?这些列可以像Select cola
或一样合法地查询JOIN ON cola
,但是服务器是否知道在这些情况下使用索引,或者它是否使用唯一索引,因为这些列已经在那里了?
我试图了解 mysql 工作台中的仪表板,我在左下角看到了这张图表。
threads connected: 149
threads running: 13
这是在负载下,并且随着我在服务器上放置更多负载而运行的线程增加,但它从未变高。这是正常的吗?如果连接的线程有助于在负载期间进行并行处理,它是否应该更高?