臨時表是當連線沒有斷開時存在,一旦斷開就不會存在,臨時表的資料和結構都在記憶體中,可以做個測驗,你建立乙個臨時表,但是到響應的資料目錄下並不會找到.frm檔案
mysql> create temporary table tmp_table (
-> name varchar(10) not null,
-> value integer not null
query ok, 0 rows affected (0.38 sec)
檢視表狀態mysql> show create table tmp_table \g
*************************** 1. row ***************************
table: tmp_table
create table: create temporary table `tmp_table` (
`name` varchar(10) not null,
`value` int(11) not null
) engine=innodb default charset=utf8
1 row in set (0.00 sec)
它和正常表沒有什麼區別,但是資料是存在記憶體中的,你在響應的資料目錄下找不到資料檔案。
一旦斷開連線你再查該錶就會消失。
和臨時表有點相似的是記憶體表,有的也稱堆表。
mysql> create table mem_table (
-> name varchar(10) not null,
-> value integer not null
-> ) type = heap;
query ok, 0 rows affected, 1 warning (0.01 sec)
檢視表狀態mysql> show create table mem_table \g
*************************** 1. row ***************************
table: mem_table
create table: create temporary table `mem_table` (
`name` varchar(10) not null,
`value` int(11) not null
) engine=memory default charset=utf8
1 row in set (0.00 sec)
你在資料目錄下回發現乙個mem_table.frm檔案,所以記憶體表的資料是放在磁碟上的,但是插入資料後發現磁碟上沒有資料檔案,所以資料是在記憶體中的,因為採用的是memory 引擎。一旦down機資料將不存在。該錶因為資料是在記憶體中,所以資料會很快。缺點是安全性。
mysql臨時表更新 MySql 臨時表
今天在專案中遇到乙個,當mysql的in語句中資料量很大時,建立乙個臨時表的例子。於是樓主整理了一下關於臨時表的知識,與大家分享一下 首先,臨時表只在當前連線可見,當關閉連線時,mysql會自動刪除表並釋放所有空間。因此在不同的連線中可以建立同名的臨時表,並且操作屬於本連線的臨時表。建立臨時表 cr...
mysql 臨時表 限制 Mysql臨時表
當你建立臨時表的時候,你可以使用temporary關鍵字。如 create temporary table tmp table name varchar 10 not null,passwd char 6 not null 或create temporary table if not exists ...
mysql怎麼是臨時表 MySQL臨時表
在本教程中,我們將討論mysql臨時表,並演示如何建立,使用和刪除臨時表。mysql臨時表簡介 在mysql中,臨時表是一種特殊型別的表,它允許您儲存乙個臨時結果集,可以在單個會話中多次重用。當使用join子句查詢需要單個select語句的資料是不可能或遇到瓶頸的時候,臨時表非常方便。在這種情況下,...