mysql臨時表的用法
- 2019 年 12 月 18 日
- 筆記
當處理較複雜大的邏輯時,你可能偶爾需要運行很多查詢獲得一個大量數據的小的子集,不是對整個表運行這些查詢,而是讓MySQL每次找出所需的少數記錄,將記錄存到一個臨時表可能更快些,然後多這些表運行查詢。這就是mysql臨時表的作用了
一:創建臨時表
CREATE TEMPORARY TABLE tmp_table ( name VARCHAR(10) NOT NULL, value INTEGER NOT NULL )
創建臨時表和正常表只是多了個TEMPORARY關鍵字的區別
該表創建後將會在斷開連接之後自動刪除,也可以在連接時自己手動刪除
DROP TABLE tmp_table
如果你聲明Mysql臨時表是一個HEAP表,MySQL也允許你指定在內存中創建它
CREATE TEMPORARY TABLE tmp_table ( name VARCHAR(10) NOT NULL, value INTEGER NOT NULL ) TYPE = HEAP
因為HEAP表存儲在內存中,你對它運行的查詢可能比磁盤上的臨時錶快些。然而,HEAP表與一般的表有些不同,且有自身的限制。詳見MySQL參考手冊。