我对MySQL很新。我有一个由几百个表文件组成的数据库。当我运行报告时,我注意到(通过ProcMon)MySQL正在打开和关闭表数十万次!这极大地影响了性能。是否有一些设置指示MySQL在MySQL关闭之前保持表文件处于打开状态?或者至少减少文件抖动?
感谢。
答案 0 :(得分:0)
计划A:不要担心。
B计划:将table_open_cache
增加到几千。 (参见SHOW VARIABLES LIKE 'table_open_cache';
)如果该值不会成功,请检查操作系统以查看它是否是约束物(ulimit
)。
计划C:很少看到需要超过一百个表的应用程序。思考应用程序正在做什么。 (例如,WP使用12个表每个用户。这不能很好地扩展。)