欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL中的臨時表與內存表

 更新時間:2024年01月31日 09:37:41   作者:pan_junbiao  
這篇文章主要介紹了MySQL中的臨時表與內存表,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

在MySQL中有三種虛擬表:臨時表、內存表、視圖。下面簡單介紹一下臨時表和內存表的使用。

1、臨時表

MySQL臨時表在我們需要保存一些臨時數(shù)據(jù)時是非常有用的。臨時表在MySQL 3.23版本中添加。

臨時表只在當前連接可見,當關閉連接時,Mysql會自動刪除表并釋放所有空間。

如果你使用了其他MySQL客戶端程序連接MySQL數(shù)據(jù)庫服務器來創(chuàng)建臨時表,那么只有在關閉客戶端程序時才會銷毀臨時表,當然你也可以手動銷毀。

1.1 創(chuàng)建臨時表

在MySQL中創(chuàng)建臨時表使用CREATE TEMPORARY TABLE語句,其語法格式如下:

CREATE TEMPORARY TABLE [IF NOT EXISTS] 臨時表名
(
	...
);

示例:

創(chuàng)建臨時表。

CREATE TEMPORARY TABLE IF NOT EXISTS temp_user
(
	id INT NOT NULL DEFAULT 0,
	name VARCHAR(10) NOT NULL
);

還可以通過復制表的方式來創(chuàng)建臨時表。

示例:

通過復制表的方式來創(chuàng)建臨時表。

CREATE TEMPORARY TABLE temp_user
AS SELECT * FROM tb_user;

1.2 刪除臨時表

默認情況下,當你斷開與數(shù)據(jù)庫的連接后,臨時表就會自動被銷毀。

當然你也可以在當前MySQL會話中手動刪除臨時表。

刪除臨時表與刪除普通表的語句是一樣的,使用 DROP TABLE語句。

示例:

刪除臨時表。

DROP TABLE IF EXISTS temp_user;

1.3 使用臨時表的注意事項

(1)臨時表只在當前連接可見,當這個連接關閉的時候,會自動drop。比如打開mysql 就是一個連接會話。兩個不同的連接可以使用相同名字的臨時表,兩個表之間不存在什么關系,如果臨時表的名字和已經(jīng)存在的磁盤表名字一樣,那么臨時表會暫時覆蓋磁盤表。就是說,你select 查詢,只會顯示臨時表里面的,不會顯示磁盤表。

(2)臨時表的存儲引擎:memor,myisam,merge,innodb,臨時表不支持mysql cluster簇。

(3)同一個查詢語句,只能用一次臨時表,就是說不能將表和自己做連接等。

(4)重命名表,不能用rename 可以用alter table代替。

(5)如果超出了臨時表的容量,臨時表會轉換成磁盤表。

(6)show tables語句不會列出臨時表,在information_schema中也不存在臨時表信息,show create table可以查看臨時表。

2、內存表

內存表的表結構建立在磁盤里面,數(shù)據(jù)放在內存里面;

當MySQL斷開當前連接后,臨時表的表結構和表數(shù)據(jù)都沒了,但內存表的表結構和表數(shù)據(jù)都存在;

當MySQL服務重啟之后,內存表的數(shù)據(jù)會丟失,但表結構依舊存。

2.1 創(chuàng)建內存表

創(chuàng)建內存表與創(chuàng)建普通表一樣,使用CREATE TABLE語句,但需要將存儲引擎設置為:ENGINE = MEMORY。

其語法格式如下:

CREATE TABLE [IF NOT EXISTS]  內存表名
(
	...
) ENGINE = MEMORY;

示例:

創(chuàng)建內存表。

CREATE TABLE IF NOT EXISTS tmp_table (
	id INT NOT NULL DEFAULT 0,
	name VARCHAR(10) NOT NULL
) ENGINE = MEMORY; 

2.2 刪除內存表

刪除內存表與刪除普通表的語句是一樣的,使用 DROP TABLE語句。

示例:

刪除內存表。

DROP TABLE IF EXISTS tmp_table;

2.3 使用內存表的注意事項

(1)當MySQL服務重啟之后,內存表的數(shù)據(jù)會丟失,表結構依舊存。

(2)多個session,創(chuàng)建表的名字不能一樣。

(3)一個session創(chuàng)建會話后,對其他session也是可見的。

(4)data目錄下只有tmp_memory.frm,表結構放在磁盤上,數(shù)據(jù)放在內存中。

(5)可以創(chuàng)建索引,刪除索引,支持唯一索引。

(6)不影響主備,主庫上插入的數(shù)據(jù),備庫也可以查到。

(7)show tables 語句可以查看得到表。

(8)內存表不能包含BLOB或者TEXT列。

(9)內存表支持AUTO_INCREMENT列。

3、臨時表與內存表區(qū)別

臨時表內存表
存儲表結構和數(shù)據(jù)都存儲在內存中表結構存儲在磁盤中,表數(shù)據(jù)存儲在內存中
會話單個會話獨享的,是會話級別的可以多個會話共享
引擎臨時表默認,myisam內存表默認,memory
斷開連接表結構和表數(shù)據(jù)都沒了表結構和表數(shù)據(jù)都存在
服務重啟表結構和表數(shù)據(jù)都沒了表結構存在,表數(shù)據(jù)不存在
性能由于表數(shù)據(jù)都是存放在內存中,所以相對來說,查詢速度較快,但是數(shù)據(jù)的維護較為困難

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • MySQL如何實現(xiàn)跨庫join查詢

    MySQL如何實現(xiàn)跨庫join查詢

    這篇文章主要介紹了MySQL如何實現(xiàn)跨庫join查詢問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • MySQL數(shù)據(jù)庫優(yōu)化詳解

    MySQL數(shù)據(jù)庫優(yōu)化詳解

    這篇文章主要介紹了MySQL數(shù)據(jù)庫優(yōu)化的方方面面,各種小技巧,需要的朋友可以參考下
    2014-08-08
  • 配置mysql允許遠程連接的方法

    配置mysql允許遠程連接的方法

    默認情況下,MySQL只允許本地登錄,如果要開啟遠程連接,則需要修改/etc/my.cnf文件
    2013-02-02
  • MYSQL索引建立需要注意以下幾點細節(jié)

    MYSQL索引建立需要注意以下幾點細節(jié)

    建立MYSQL索引時需要注意以下幾點:建立索引的時機/對于like/對于有多個條件的/開啟索引緩存/建立索引是有代價的等等,感興趣的你可以參考下本文,或許可以幫助到你
    2013-03-03
  • Mysql避免重復插入數(shù)據(jù)的4種方式

    Mysql避免重復插入數(shù)據(jù)的4種方式

    這篇文章主要介紹了Mysql避免重復插入數(shù)據(jù)的4種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • MySQL窗口函數(shù)的具體使用

    MySQL窗口函數(shù)的具體使用

    本文主要介紹了MySQL窗口函數(shù)的具體使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • mysql中的事務重做日志(redo log)與回滾日志(undo log)

    mysql中的事務重做日志(redo log)與回滾日志(undo log)

    這篇文章主要介紹了mysql中的事務重做日志(redo log)與回滾日志(undo log),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • MySQL分表和分區(qū)分表的區(qū)別小結

    MySQL分表和分區(qū)分表的區(qū)別小結

    MySQL分表和分區(qū)分表是兩種常見的數(shù)據(jù)分割方案,本文主要介紹了MySQL分表和分區(qū)分表的區(qū)別小結,具有一定的參考價值,感興趣的可以了解一下
    2024-07-07
  • mysql格式化字符串長度不夠補0問題

    mysql格式化字符串長度不夠補0問題

    這篇文章主要介紹了mysql格式化字符串長度不夠補0問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • mysql執(zhí)行語句后只有錯誤代碼,沒有錯誤信息的問題

    mysql執(zhí)行語句后只有錯誤代碼,沒有錯誤信息的問題

    這篇文章主要介紹了mysql執(zhí)行語句后只有錯誤代碼,沒有錯誤信息的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-09-09

最新評論