熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> MySQL >> 正文

MySQL中的臨時表使用方法講解

2013-11-23 21:02:43  來源: MySQL 

  當工作在非常大的表上時你可能偶爾需要運行很多查詢獲得一個大量數據的小的子集不是對整個表運行這些查詢而是讓MySQL每次找出所需的少數記錄將記錄選擇到一個臨時表可能更快些然後多這些表運行查詢
  
  創建臨時表很容易給正常的CREATE TABLE語句加上TEMPORARY關鍵字
  
  CREATE TEMPORARY TABLE tmp_table (
  name VARCHAR() NOT NULL
  value INTEGER NOT NULL
  )
  
  臨時表將在你連接MySQL期間存在當你斷開時MySQL將自動刪除表並釋放所用的空間當然你可以在仍然連接的時候刪除表並釋放空間
  
  DROP TABLE tmp_table
  
  如果在你創建名為tmp_table臨時表時名為tmp_table的表在數據庫中已經存在臨時表將有必要屏蔽(隱藏)非臨時表tmp_table
  
  如果你聲明臨時表是一個HEAP表MySQL也允許你指定在內存中創建它
  
  CREATE TEMPORARY TABLE tmp_table (
  name VARCHAR() NOT NULL
  value INTEGER NOT NULL
  ) TYPE = HEAP
  
  因為HEAP表存儲在內存中你對它運行的查詢可能比磁盤上的臨時表快些然而HEAP表與一般的表有些不同且有自身的限制詳見MySQL參考手冊
  
  正如前面的建議你應該測試臨時表看看它們是否真的比對大量數據庫運行查詢快如果數據很好地索引臨時表可能一點不快
From:http://tw.wingwit.com/Article/program/MySQL/201311/29492.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.