當工作在非常大的表上時,你可能偶爾需要執行很多查詢獲得乙個大量資料的小的子集,不是對整個表執行這些查詢,而是讓mysql每次找出所需的少數記錄,將記錄選擇到乙個臨時表可能更快些,然後多這些表執行查詢。
建立臨時表很容易,給正常的create table語句加上temporary關鍵字:
create temporary table tmp_table (
name varchar(10) 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(10) not null,
value integer not null
) type = heap
因為heap表儲存在記憶體中,你對它執行的查詢可能比磁碟上的臨時表快些。然而,heap表與一般的表有些不同,且有自身的限制。詳見mysql參考手冊。
正如前面的建議,你應該測試臨時表看看它們是否真的比對大量資料庫執行查詢快。如果資料很好地索引,臨時表可能一點不快。
計算機四級考試詞彙總結
access arm 磁頭臂,訪問臂 access time 訪問時間 adder 加法器 address 位址 alphanumeric 字母數字的 analog computer 模擬計算機 analyst 分析員 area 區域 array 陣列,陣列 assembler 匯程式設計序 aut...
全國計算機四級考試 MySQL程式設計介紹
mysql有一組實用程式。例如,mysqldump 匯出表的上下文和結構定義,mysqlimport將資料檔案載入到表中,mysqladmin 實現管理w操作,mysql可以使使用者與伺服器互動來執行任意的查詢。每個標準的mysql實用程式都傾向於小巧,重點放在程式可完成特定的 有限的功能。即使my...
計算機四級考試輔導之MySQL使用者管理
mysql管理員應該知道如何設定mysql使用者賬號,指出哪個使用者可以連線伺服器,從 連線,連線後能做什麼。mysql 3.22.11開始引入兩條語句使得這項工作更容易做 grant語句建立mysql使用者並指定其許可權,而revoke語句刪除許可權。兩條語句扮演了mysql資料庫的前端角色,並提...