我正在执行需要很长时间才能完成的MySQL查询(具体来说,我使用LOAD DATA INFILE
导入大约2100万行的CSV,大约需要20分钟)。是否有类似于详细模式的东西可以让我在执行时查看查询?
我尝试在-vvv
的命令行启动MySQL,但在这种情况下,除了向我重复查询之外,似乎没有什么区别。
答案 0 :(得分:1)
这是一个奇怪的建议
示例:将数据导入名为mydb.mytable的表中,其中datadir为/ var / lib / mysql
步骤1)找出CSV文件的字节大小
步骤2)在mysql中,在一个Linux会话中启动LOAD DATA INFILE命令
步骤3)在Linux中,cd / var / lib / mysql / mydb
步骤4)在Linux中,观看-n 0.5 ls -l mytable。*
这将每隔0.5秒显示一次表的大小。
如果表格是MyISAM,这个方法可以让你观看mytable.MYD和mytable.MYI文件的增长
如果表格是InnoDB并且激活了innodb_file_per_table,那么你会看mytable.ibd增长。
此方法在以下所有三(3)个条件下都不起作用:
1.如果mydb.mytable是InnoDB
2.如果mydb.mytable存储在/ var / lib / mysql / ibdata1中
3.如果禁用innodb_file_per_table。