数据库-数据存储引擎
數(shù)據(jù)存儲引擎
?
MyISAM存儲引擎
默認MyISAM的表會在磁盤中產(chǎn)生3個文件 .frm表結(jié)構(gòu)文件
.MYD數(shù)據(jù)文件
.MYI索引文件
?
?
可以在創(chuàng)建的時候指定數(shù)據(jù)文件和索引文件的存儲位置,只有MyISAM表支持
DATA DIRECORY [=] 數(shù)據(jù)保存的絕對路徑
INDEX DIRECTORY [=] 索引文件保存的絕對路徑
MyISAM單表最大支持的數(shù)據(jù)量2的64次方條記錄
每個表最多可以建立64個索引
如果是復(fù)合索引,每個復(fù)合索引最多包含16個列,索引值最大長度是1000B
MyISAM引擎的存儲格式
定長(FIXED 靜態(tài))
是指字段中不包含VARCHAR/TEXT/BLOB
動態(tài)(DYNAMIC)
只要字段中包含了VARCHAR/TEXT/BLOB
壓縮(COMPRESSED)
myisampack創(chuàng)建
InnoDB存儲引擎
設(shè)計遵循ACID模型,支持事務(wù),具有從服務(wù)崩潰中恢復(fù)的能力,能夠最大限度保護用戶的數(shù)據(jù)
支持行級鎖,可以提升多用戶并發(fā)時的讀寫性能
支持外鍵,保證數(shù)據(jù)的一致性和完整性
InnoDB擁有自己獨立的緩沖池,常用的數(shù)據(jù)和索引都在緩存中
對于INSERT、UPDATE、DELETE操作,InnoDB會使用一種change buffering的機制來自動優(yōu)化,還可以提供一致性的讀,并且還能夠緩存變更的數(shù)據(jù),減少磁盤I/O,提高性能
創(chuàng)建InnoDB表之后會產(chǎn)生兩個文件
.frm表結(jié)構(gòu)文件
.ibd,數(shù)據(jù)和索引存儲表空間中
所有的表都需要創(chuàng)建主鍵,最好是配合上AUTO_INCREMENT,也可以放到經(jīng)常查詢的列作為主鍵
轉(zhuǎn)載于:https://www.cnblogs.com/szm2019/p/7414046.html
總結(jié)
以上是生活随笔為你收集整理的数据库-数据存储引擎的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 海量数据
- 下一篇: 数据库分离 附加 sqlserver