首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 臨時表使用入門:建立、HEAP 引擎加速與自動清理機制

     編輯:MySQL 資料庫相關知識

處理超大資料表時,頻繁查詢小子集可先建立臨時表,再對臨時表查詢以提升效能。

建立臨時表

CREATE TEMPORARY TABLE tmp_table (
  name VARCHAR(10) NOT NULL,
  value INTEGER NOT NULL
);

生命週期與特性

  • 存活於目前連線期間,斷線自動刪除釋放空間
  • 可手動 DROP TABLE tmp_table 提前釋放
  • 同名永久表存在時,臨時表會遮蔽永久表

HEAP (MEMORY) 引擎加速

CREATE TEMPORARY TABLE tmp_table (
  name VARCHAR(10) NOT NULL,
  value INTEGER NOT NULL
) ENGINE = MEMORY;
  • 資料存記憶體,查詢速度遠快於磁碟臨時表
  • 限制:不支援 BLOB/TEXT、重啟資料消失、固定長度列
  • 參考手冊確認完整限制

效能建議

實測比較:若原表索引良好,臨時表未必更快。建議先測試再決定是否採用。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved