溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

翻譯5.7手冊InnoDB部分第一篇——InnoDB介紹

發(fā)布時(shí)間:2020-08-10 19:22:15 來源:網(wǎng)絡(luò) 閱讀:903 作者:viphyy 欄目:MySQL數(shù)據(jù)庫


1. InnoDB介紹

InnoDB是一個(gè)高可靠,高性能的多用途數(shù)據(jù)庫存儲(chǔ)引擎。在MySQL5.7InnoDB是默認(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ì)列出。

1.1     為什么要選擇InnoDB

選擇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%。

 

 


向AI問一下細(xì)節(jié)

免責(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)容。

AI