一 簡介: 來聊聊關於臨時表文件暴漲的相關廠家
二 分析:
1 mysql5.7已經可以設置單獨的臨時表目錄,默認放置在數據目錄,文件名為ibtmp1
2 ibtmp1文件磁盤占用無法被釋放,除非重啟實例
三 影響語句
1 顯示創建的臨時表
2 DDL 的更改列等copy方式的操作,需要拷貝數據到臨時表中
3 select 查詢語句應用到臨時表的類型
注意 1 select 查詢語句會先應用tmp_table_szie(內存分配)的量,當臨時存儲的量超過這個參數限制是,就會在ibtmp1中申請占用空間
2 select union all語句已進行了優化,不會利用臨時表空間了
3 可能類型
1 select order by group by GROUP BY 無索引字段或GROUP BY+ ORDER BY 的子句字段不一樣時
2 select (select) 子查詢
3 insert into select ...from ... 表數據復制
4 select union select 聯合語句
四 總結
如果你的磁盤很小,一點要注意ibtmp1文件的大小,優化慢查詢,減少大表的copy操作