您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關MySQL存儲引擎有什么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
。Innodb
。myisam
。memory
。blackhole
下面我們來一一了解它們
''' Innodb 是MySQL5.5版本及之后默認的存儲引擎 存儲數據更加安全 '''
''' myisam 是MySQL5.5版本之前默認的存儲引擎 速度要比Innodb更快,但我們更加注意的是數據的安全 '''
''' memory 內存引擎(數據全部存放在內存中)斷電數據及丟失 '''
''' blackhole 無論存什么,都會立刻消失(就像黑洞一樣) '''
查看所有存儲引擎的sql語句:
show engines;
首先我們來單獨建一個數據庫
create database day45
然后切換到該數據庫中
use day45;
分別創建四個不同存儲引擎的四個表
create table t1(id int) engine=innodb; create table t2(id int) engine=myisam; create table t3(id int) engine=blackhole; create table t4(id int) engine=memory;
創建好四個表后你會在data文件下看到四個不同存儲引擎的文件
t3表之所以沒有t3.MYD表數據文件是因為blackhole存儲引擎就像黑洞一樣,丟一個文件進去就會消失掉,所以不好存儲數據到文件里
t4表是memory存儲引擎,存儲在內存中,是短暫存儲數據的,不好存儲在硬盤中,因此不存在表數據文件
接下來我們為每個不同存儲引擎的表都插入一條數據,看會有怎樣的結果:
insert into t1 values(1); insert into t2 values(1); insert into t3 values(1); insert into t4 values(1);
可以看到分別查詢每個表的數據時,t3是沒有存儲數據的,因為t3是blackhole存儲引擎,存的數據會立馬丟掉,因此select時不會存在任何數據。實驗不僅僅是進行到現在,當你重啟MySQL再重新查詢每個表的數據時你會有新的發現
很明顯,t4的表中此時也顯示沒有存儲數據,這是為什么呢?
因為t4引用的是memory存儲引擎,是將數據存儲在內存中的,而不會永久存儲,當關閉MySQL重啟后數據就會丟失
關于“MySQL存儲引擎有什么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。