您好,登錄后才能下訂單哦!
InnoDB是一個(gè)高可靠,高性能的多用途數(shù)據(jù)庫存儲(chǔ)引擎。在MySQL5.7中InnoDB是默認(rèn)使用的存儲(chǔ)引擎,當(dāng)然,你可以配置其它存儲(chǔ)引擎,比如沒有通過ENGINE設(shè)置為InnoDB的建表語句。
InnoDB的關(guān)鍵特性
列舉以下重要幾點(diǎn):
DML操作在ACID模式下執(zhí)行(插入,更新,刪除操作,要注意的是查詢操作有時(shí)候也可能認(rèn)為是DML操作,如select * from table for update),也就是關(guān)于事務(wù)的提交,回滾,故障恢復(fù)。
行級(jí)鎖和類似Oracle的非鎖定讀以及多用戶的支持。
聚集索引,InnoDB會(huì)根據(jù)表的主鍵在數(shù)據(jù)存儲(chǔ)的時(shí)候?qū)?shù)據(jù)進(jìn)行排序以減少通過主鍵查詢時(shí)的I/O。每一個(gè)InnoDB表的主鍵就是一個(gè)聚集索引
在保證數(shù)據(jù)完整性方面,InnoDB支持外鍵,有外鍵存在時(shí),數(shù)據(jù)在插入,更新和刪除的時(shí)候都有外鍵約束。
InnoDB特性
Storage limits 存儲(chǔ)限制 | 64TB | Transactions 事務(wù) | Yes | Locking granularity 鎖粒度 | Row |
MVCC 多版本并發(fā)控制 | Yes | Geospatial data type support 地理坐標(biāo)數(shù)據(jù)類型支持 | Yes | Geospatial indexing support 坐標(biāo)索引支持 | Yes[a] |
B-tree indexes B-tree 索引 | Yes | T-tree indexes T-tree 索引 | No | Hash indexes 哈希索引 | No[b] |
Full-text search indexes 全文索引 | Yes[c] | Clustered indexes 聚集索引 | Yes | Data caches 緩存 | Yes |
Index caches 索引緩存 | Yes | Compressed data 壓縮功能 | Yes[d] | Encrypted data[e] 加密功能 | Yes |
Cluster database support 集群支持 | No | Replication support[f] 復(fù)制支持 | Yes | Foreign key support 外鍵支持 | Yes |
Backup / point-in-time recovery[g] 時(shí)間點(diǎn)恢復(fù) | Yes | Query cache support 查詢緩存支持 | Yes | Update statistics for data dictionary 更新靜態(tài)字典數(shù)據(jù) | Yes |
一些特性說明: [a] 在MySQL5.7.5以及更高的版本中InnoDB 支持地理位置。 [b] InnoDB 在自適應(yīng)哈希索引內(nèi)部使用哈希索引。 [c] 在MySQL 5.6.4 以及更高的版本中InnoDB 支持全文索。 [d] 表壓縮功能需要Barracuda 的文件格式 [e] 通過加密函數(shù)實(shí)現(xiàn)。 [f] 支持,但不是在引擎級(jí)別實(shí)現(xiàn)。 [g] 支持,但不是在引擎級(jí)別實(shí)現(xiàn)。. |
各種存儲(chǔ)引擎的對比將在后面的章節(jié)中詳細(xì)列出。
選擇InnoDB的理由如下:
如果你的服務(wù)器由于硬件或軟件的問題而崩潰,你不用考慮數(shù)據(jù)庫當(dāng)時(shí)發(fā)生的事情,也不需要你在數(shù)據(jù)庫重新啟動(dòng)后做任何特殊處理。InnoDB的故障恢復(fù)機(jī)制會(huì)自動(dòng)幫你完成所有在故障發(fā)生前的提交,另外,對沒有提交的動(dòng)作不做任何操作。
InnoDB存儲(chǔ)引擎對于訪問的數(shù)據(jù)在內(nèi)存中持有一個(gè)緩存表數(shù)據(jù)和索引的緩存池,用戶的一些查詢可以從內(nèi)存中的緩存池中直接返回?cái)?shù)據(jù)。這種緩存方式適用于很多提高處理速度的場景。在一臺(tái)專用的數(shù)據(jù)庫服務(wù)器上,InnoDB緩存池的內(nèi)存占用通常都高于總內(nèi)存的80%。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。