MySQL 的臨時表只會存在在 Session 期間,當 Session 結束後就會自動刪除,不同的 Session 的表名稱並不會衝突,所以就算用一樣的名稱也不會出現錯誤,臨時表只能用在 MEMORY,MyISAM,MERGE,或者InnoDB 引擎上。
-- 透過 SELECT 建立臨時表 CREATE TEMPORARY TABLE my_temp_table ENGINE=MEMORY SELECT * FROM my_table WHERE col_1 > 1000 -- 為臨時表建立索引 ALTER TABLE my_temp_table ADD INDEX (col_1), ADD INDEX (col_1,col_2)
參考資料:
MySQL CREATE TABLE Syntax
mysql temporary table簡介
避免 MySQL 使用 temporary table on disk
沒有留言:
張貼留言
你好!歡迎你在我的 Blog 上留下你寶貴的意見。