0
有时,我们使用的MySQL数据库在/tmp
磁盘上生成文件,以便在执行查询时临时存储结果。列出“复制到磁盘上的tmp表”MySQL查询
在StackOverflow上有很多关于如何禁用此行为或通过例如使用RAM磁盘进行加速的文章。
我在寻找优雅的方式来保存生成这些文件的查询,因为我相信大多数这些查询都可以进行优化。
有没有办法记录这些查询?
有时,我们使用的MySQL数据库在/tmp
磁盘上生成文件,以便在执行查询时临时存储结果。列出“复制到磁盘上的tmp表”MySQL查询
在StackOverflow上有很多关于如何禁用此行为或通过例如使用RAM磁盘进行加速的文章。
我在寻找优雅的方式来保存生成这些文件的查询,因为我相信大多数这些查询都可以进行优化。
有没有办法记录这些查询?
鉴于此类查询通常需要很长时间,我们可以假设这些都是慢查询。我们可以log slow queries使用slow_query_log_file
和slow_query_log
变量:
-- set the log file location
SET GLOBAL slow_query_log_file = '/path/to/slow_log_file.log';
-- turn on slow query logging
SET GLOBAL slow_query_log = ON;
确保mysql
用户(或比运行MySQL守护程序的用户)有写访问权限的目录和文件。