2017-01-06 34 views
0

有时,我们使用的MySQL数据库在/tmp磁盘上生成文件,以便在执行查询时临时存储结果。列出“复制到磁盘上的tmp表”MySQL查询

在StackOverflow上有很多关于如何禁用此行为或通过例如使用RAM磁盘进行加速的文章。

我在寻找优雅的方式来保存生成这些文件的查询,因为我相信大多数这些查询都可以进行优化。

有没有办法记录这些查询?

回答

0

鉴于此类查询通常需要很长时间,我们可以假设这些都是慢查询。我们可以log slow queries使用slow_query_log_fileslow_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守护程序的用户)有写访问权限的目录和文件。