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參考手冊。