一起了解了解MySQL存儲(chǔ)引擎
前言
在日常生活中文件格式有很多種,并且針對(duì)不同的文件格式會(huì)有對(duì)應(yīng)不同存儲(chǔ)方式和處理機(jī)制(如:.txt、.pdf、.mp4.......)
針對(duì)不同的數(shù)據(jù)應(yīng)該有對(duì)應(yīng)的不同的處理機(jī)制來(lái)存儲(chǔ)
存儲(chǔ)引擎就是不同的處理機(jī)制
一、MySQL主要存儲(chǔ)引擎:
。Innodb?
。myisam
。memory
。blackhole
下面我們來(lái)一一了解它們
''' Innodb 是MySQL5.5版本及之后默認(rèn)的存儲(chǔ)引擎 存儲(chǔ)數(shù)據(jù)更加安全 '''
''' myisam 是MySQL5.5版本之前默認(rèn)的存儲(chǔ)引擎 速度要比Innodb更快,但我們更加注意的是數(shù)據(jù)的安全 '''
''' memory 內(nèi)存引擎(數(shù)據(jù)全部存放在內(nèi)存中)斷電數(shù)據(jù)及丟失 '''
''' blackhole 無(wú)論存什么,都會(huì)立刻消失(就像黑洞一樣) '''
查看所有存儲(chǔ)引擎的sql語(yǔ)句:
show engines;
二、實(shí)例介紹它們(不同的存儲(chǔ)引擎在存儲(chǔ)表的時(shí)候的異同點(diǎn))
首先我們來(lái)單獨(dú)建一個(gè)數(shù)據(jù)庫(kù)
create database day45
然后切換到該數(shù)據(jù)庫(kù)中
use day45;
分別創(chuàng)建四個(gè)不同存儲(chǔ)引擎的四個(gè)表
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;
?
?創(chuàng)建好四個(gè)表后你會(huì)在data文件下看到四個(gè)不同存儲(chǔ)引擎的文件
?t3表之所以沒(méi)有t3.MYD表數(shù)據(jù)文件是因?yàn)閎lackhole存儲(chǔ)引擎就像黑洞一樣,丟一個(gè)文件進(jìn)去就會(huì)消失掉,所以不好存儲(chǔ)數(shù)據(jù)到文件里
t4表是memory存儲(chǔ)引擎,存儲(chǔ)在內(nèi)存中,是短暫存儲(chǔ)數(shù)據(jù)的,不好存儲(chǔ)在硬盤(pán)中,因此不存在表數(shù)據(jù)文件
接下來(lái)我們?yōu)槊總€(gè)不同存儲(chǔ)引擎的表都插入一條數(shù)據(jù),看會(huì)有怎樣的結(jié)果:
insert into t1 values(1); insert into t2 values(1); insert into t3 values(1); insert into t4 values(1);
?
?可以看到分別查詢(xún)每個(gè)表的數(shù)據(jù)時(shí),t3是沒(méi)有存儲(chǔ)數(shù)據(jù)的,因?yàn)閠3是blackhole存儲(chǔ)引擎,存的數(shù)據(jù)會(huì)立馬丟掉,因此select時(shí)不會(huì)存在任何數(shù)據(jù)。實(shí)驗(yàn)不僅僅是進(jìn)行到現(xiàn)在,當(dāng)你重啟MySQL再重新查詢(xún)每個(gè)表的數(shù)據(jù)時(shí)你會(huì)有新的發(fā)現(xiàn)
?
?很明顯,t4的表中此時(shí)也顯示沒(méi)有存儲(chǔ)數(shù)據(jù),這是為什么呢?
因?yàn)閠4引用的是memory存儲(chǔ)引擎,是將數(shù)據(jù)存儲(chǔ)在內(nèi)存中的,而不會(huì)永久存儲(chǔ),當(dāng)關(guān)閉MySQL重啟后數(shù)據(jù)就會(huì)丟失
到此這篇關(guān)于一起了解了解MySQL存儲(chǔ)引擎的文章就介紹到這了,更多相關(guān)MySQL存儲(chǔ)引擎內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL 5.6 解壓縮版安裝配置方法圖文教程(win10)
這篇文章主要為大家詳細(xì)介紹了MySQL for Windows 解壓縮版安裝配置的相關(guān)資料,需要的朋友可以參考下2016-07-07ARM64架構(gòu)下安裝mysql5.7.22的全過(guò)程
這篇文章主要介紹了ARM64架構(gòu)下安裝mysql5.7.22的全過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-07-07mysql實(shí)現(xiàn)查詢(xún)每門(mén)課程成績(jī)最好的前兩名學(xué)生id和姓名
這篇文章主要介紹了mysql實(shí)現(xiàn)查詢(xún)每門(mén)課程成績(jī)最好的前兩名學(xué)生id和姓名方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11MySQL數(shù)據(jù)庫(kù)的索引原理與慢SQL優(yōu)化的5大原則
這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)的索引原理與慢SQL優(yōu)化的5大原則,包括:建立索引的原則,慢查詢(xún)優(yōu)化基本步驟,慢查詢(xún)優(yōu)化案例,explain使用,需要的朋友可以參考下2023-02-02MySQL 5.7 學(xué)習(xí)心得之安全相關(guān)特性
這篇文章主要介紹了MySQL 5.7 學(xué)習(xí)心得之安全相關(guān)特性 的相關(guān)資料,需要的朋友可以參考下2016-07-07