MySQL之存儲(chǔ)引擎

Storage Engine是指表類型,也即在表創(chuàng)建時(shí)指明其使用的存儲(chǔ)引擎,同一庫(kù)中不同表可以使用不同的存儲(chǔ)引擎,但建議要使用同一種存儲(chǔ)引擎

創(chuàng)新互聯(lián)是專業(yè)的德化網(wǎng)站建設(shè)公司,德化接單;提供成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行德化網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

 

MySQL體系結(jié)構(gòu)

MySQL之存儲(chǔ)引擎

 

存儲(chǔ)引擎

 MySQL之存儲(chǔ)引擎

InnoDB support for FULLTEXT indexes is available in MySQL 5.6.4 and later.

存儲(chǔ)引擎比較:https://docs.oracle.com/cd/E17952_01/mysql-5.5-en/storage-engines.html

 

MyISAM存儲(chǔ)引擎

MyISAM引擎特點(diǎn):

不支持事務(wù)

表級(jí)鎖定

讀寫相互阻塞,寫入不能讀,讀時(shí)不能寫

只緩存索引

不支持外鍵約束

不支持聚簇索引

讀取數(shù)據(jù)較快,占用資源較少

不支持MVCC(多版本并發(fā)控制機(jī)制)高并發(fā)

崩潰恢復(fù)性較差

MySQL5.5.5前默認(rèn)的數(shù)據(jù)庫(kù)引擎

 

適用場(chǎng)景:只讀(或者寫較少)、表較?。梢越邮荛L(zhǎng)時(shí)間進(jìn)行修復(fù)操作)

MyISAM引擎文件:

tbl_name.frm:表格式定義

tbl_name.MYD:數(shù)據(jù)文件

tbl_name.MYI:索引文件

 

InnoDB存儲(chǔ)引擎

InnoDB引擎特點(diǎn):

支持事務(wù),適合處理大量短期事務(wù)

行級(jí)鎖

讀寫阻塞與事務(wù)隔離級(jí)別相關(guān)

可緩存數(shù)據(jù)和索引

支持聚簇索引

崩潰恢復(fù)性更好

支持MVCC高并發(fā)

從MySQL5.5后支持全文索引

從MySQL5.5.5開始為默認(rèn)的數(shù)據(jù)庫(kù)引擎

 

InnoDB數(shù)據(jù)庫(kù)文件

所有InnoDB表的數(shù)據(jù)和索引放置于同一個(gè)表空間中

表空間文件:datadir定義的目錄下

數(shù)據(jù)文件:ibddata1, ibddata2, ...

每個(gè)表單獨(dú)使用一個(gè)表空間存儲(chǔ)表的數(shù)據(jù)和索引

啟用:innodb_file_per_table=ON

兩類文件放在數(shù)據(jù)庫(kù)獨(dú)立目錄中

數(shù)據(jù)文件(存儲(chǔ)數(shù)據(jù)和索引):tb_name.ibd

表格式定義:tb_name.frm

 

其它存儲(chǔ)引擎

Performance_Schema:Performance_Schema數(shù)據(jù)庫(kù)

Memory:將所有數(shù)據(jù)存儲(chǔ)在RAM中,以便在需要快速查找參考和其他類似數(shù)據(jù)的環(huán)境中進(jìn)行快速訪問。適用存放臨時(shí)數(shù)據(jù)。引擎以前被稱為HEAP引擎

MRG_MyISAM:使MySQL DBA或開發(fā)人員能夠?qū)σ幌盗邢嗤腗yISAM表進(jìn)行邏輯分組,并將它們作為一個(gè)對(duì)象引用。適用于VLDB(Very Large Data Base)環(huán)境,如數(shù)據(jù)倉(cāng)庫(kù)

Archive:為存儲(chǔ)和檢索大量很少參考的存檔或安全審核信息,只支持SELECT和INSERT操作;支持行級(jí)鎖和專用緩存區(qū)

Federated聯(lián)合:用于訪問其它遠(yuǎn)程MySQL服務(wù)器一個(gè)代理,它通過創(chuàng)建一個(gè)到遠(yuǎn)程MySQL服務(wù)器的客戶端連接,并將查詢傳輸?shù)竭h(yuǎn)程服務(wù)器執(zhí)行,而后完成數(shù)據(jù)存取,提供鏈接單獨(dú)MySQL服務(wù)器的能力,以便從多個(gè)物理服務(wù)器創(chuàng)建一個(gè)邏輯數(shù)據(jù)庫(kù)。非常適合分布式或數(shù)據(jù)集市環(huán)境

BDB:可替代InnoDB的事務(wù)引擎,支持COMMIT、ROLLBACK和其他事務(wù)特性

Cluster/NDB:MySQL的簇式數(shù)據(jù)庫(kù)引擎,尤其適合于具有高性能查找要求的應(yīng)用程序,這類查找需求還要求具有最高的正常工作時(shí)間和可用性

CSV:CSV存儲(chǔ)引擎使用逗號(hào)分隔值格式將數(shù)據(jù)存儲(chǔ)在文本文件中??梢允褂肅SV引擎以CSV格式導(dǎo)入和導(dǎo)出其他軟件和應(yīng)用程序之間的數(shù)據(jù)交換

BLACKHOLE:黑洞存儲(chǔ)引擎接受但不存儲(chǔ)數(shù)據(jù),檢索總是返回一個(gè)空集。該功能可用于分布式數(shù)據(jù)庫(kù)設(shè)計(jì),數(shù)據(jù)自動(dòng)復(fù)制,但不是本地存儲(chǔ)(可作為MySQL主從復(fù)制中主和從的中間的庫(kù))

example:“stub”引擎,它什么都不做??梢允褂么艘鎰?chuàng)建表,但不能將數(shù)據(jù)存儲(chǔ)在其中或從中檢索。目的是作為例子來(lái)說(shuō)明如何開始編寫新的存儲(chǔ)引擎

 

MariaDB支持的其它存儲(chǔ)引擎:

OQGraph

SphinxSE

TokuDB

Cassandra

CONNECT

SQUENCE

 

管理存儲(chǔ)引擎

查看mysql支持的存儲(chǔ)引擎:

show engines;

查看當(dāng)前默認(rèn)的存儲(chǔ)引擎:

show variables like '%storage_engine%';

設(shè)置默認(rèn)的存儲(chǔ)引擎:

vim /etc/my.conf

[mysqld]

default_storage_engine= InnoDB;

查看庫(kù)中所有表使用的存儲(chǔ)引擎

Show table status from db_name;

查看庫(kù)中指定表的存儲(chǔ)引擎

show table status like 'tb_name';

show create table tb_name;

設(shè)置表的存儲(chǔ)引擎:

CREATE TABLE tb_name(... ) ENGINE=InnoDB;

ALTER TABLE tb_name ENGINE=InnoDB;

網(wǎng)頁(yè)名稱:MySQL之存儲(chǔ)引擎
文章源于:http://muchs.cn/article46/ispehg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管用戶體驗(yàn)、品牌網(wǎng)站建設(shè)ChatGPT、標(biāo)簽優(yōu)化外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)