欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

簡述MySQL InnoDB存儲(chǔ)引擎

 更新時(shí)間:2020年08月18日 10:40:23   作者:MySQL技術(shù)  
這篇文章主要介紹了MySQL InnoDB存儲(chǔ)引擎的相關(guān)資料,幫助大家更好的了解MySQL的存儲(chǔ)引擎,感興趣的朋友可以了解下

前言:

存儲(chǔ)引擎是數(shù)據(jù)庫的核心,對(duì)于 MySQL 來說,存儲(chǔ)引擎是以插件的形式運(yùn)行的。雖然 MySQL 支持種類繁多的存儲(chǔ)引擎,但最常用的當(dāng)屬 InnoDB 了,本篇文章將主要介紹 InnoDB 存儲(chǔ)引擎相關(guān)知識(shí)。

1. InnoDB 簡介

MySQL 5.5 版本以后,默認(rèn)存儲(chǔ)引擎就是 InnoDB 了。InnoDB 是一種兼顧了高可靠性和高性能的通用存儲(chǔ)引擎。在 MySQL 5.7 中,除非你配置了其他默認(rèn)存儲(chǔ)引擎,否則執(zhí)行 CREATE TABLE 不指定 ENGINE 的語句將創(chuàng)建一個(gè) InnoDB 表。

# 查看MySQL支持的存儲(chǔ)引擎
mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine       | Support | Comment                            | Transactions | XA  | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB       | DEFAULT | Supports transactions, row-level locking, and foreign keys   | YES     | YES | YES    |
| MRG_MYISAM     | YES   | Collection of identical MyISAM tables             | NO      | NO  | NO     |
| MEMORY       | YES   | Hash based, stored in memory, useful for temporary tables   | NO      | NO  | NO     |
| BLACKHOLE     | YES   | /dev/null storage engine (anything you write to it disappears) | NO      | NO  | NO     |
| MyISAM       | YES   | MyISAM storage engine                     | NO      | NO  | NO     |
| CSV        | YES   | CSV storage engine                       | NO      | NO  | NO     |
| ARCHIVE      | YES   | Archive storage engine                     | NO      | NO  | NO     |
| PERFORMANCE_SCHEMA | YES   | Performance Schema                       | NO      | NO  | NO     |
| FEDERATED     | NO   | Federated MySQL storage engine                 | NULL     | NULL | NULL    |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+

# 查看默認(rèn)存儲(chǔ)引擎
mysql> show variables like 'default_storage_engine';
+------------------------+--------+
| Variable_name     | Value |
+------------------------+--------+
| default_storage_engine | InnoDB |
+------------------------+--------+

 2. InnoDB 優(yōu)勢(shì)

InnoDB 之所以如此受寵,主要在于其功能方面的較多優(yōu)勢(shì)。

1)支持事務(wù)

InnoDB 最重要的一點(diǎn)就是支持事務(wù),可以說這是 InnoDB 成為 MySQL 中最流行的存儲(chǔ)引擎的一個(gè)非常重要的原因。此外 InnoDB 還實(shí)現(xiàn)了 4 種隔離級(jí)別(READ UNCOMMITTED,READ COMMITTED,REPEATABLE READ 和 SERIALIZABLE),使得對(duì)事務(wù)的支持更加靈活。

2)災(zāi)難恢復(fù)性好

InnoDB 通過 commit、rollback、crash-recovery 來保障數(shù)據(jù)的安全。

具體來說,crash-recovery 就是指如果服務(wù)器因?yàn)橛布蜍浖膯栴}而崩潰,不管當(dāng)時(shí)數(shù)據(jù)是怎樣的狀態(tài),在重啟 MySQL 后,InnoDB 都會(huì)自動(dòng)恢復(fù)到發(fā)生崩潰之前的狀態(tài)。

3)使用行級(jí)鎖

InnoDB 改變了 MyISAM 的鎖機(jī)制,實(shí)現(xiàn)了行鎖。雖然 InnoDB 的行鎖機(jī)制是通過索引來完成的,但畢竟在數(shù)據(jù)庫中大部分的 SQL 語句都要使用索引來檢索數(shù)據(jù)。行鎖定機(jī)制也為 InnoDB 在承受高并發(fā)壓力的環(huán)境下增強(qiáng)了不小的競(jìng)爭力。

4)實(shí)現(xiàn)了緩沖處理

InnoDB 提供了專門的緩沖池,實(shí)現(xiàn)了緩沖管理,不僅能緩沖索引也能緩沖數(shù)據(jù),常用的數(shù)據(jù)可以直接從內(nèi)存中處理,比從磁盤獲取數(shù)據(jù)處理速度要快。在專用數(shù)據(jù)庫服務(wù)器上,通常會(huì)將最多80%的物理 memory 分配給緩沖池。

5)支持外鍵

InnoDB 支持外鍵約束,檢查外鍵、插入、更新和刪除,以確保數(shù)據(jù)的完整性。存儲(chǔ)表中的數(shù)據(jù)時(shí),每張表的存儲(chǔ)都按主鍵順序存放,如果沒有顯式在表定義時(shí)指定主鍵,InnoDB 會(huì)為每一行生成一個(gè)6字節(jié)的 ROWID ,并以此作為主鍵。

總結(jié):

本篇文章簡單介紹了 InnoDB 存儲(chǔ)引擎及其優(yōu)勢(shì),想深入學(xué)習(xí) MySQL ,InnoDB 絕對(duì)是一塊繞不開的重點(diǎn)知識(shí)。關(guān)于 InnoDB 的內(nèi)容還有很多,后面有機(jī)會(huì)的話可以多寫寫。

以上就是簡述MySQL InnoDB存儲(chǔ)引擎的詳細(xì)內(nèi)容,更多關(guān)于MySQL InnoDB存儲(chǔ)引擎的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Mysql系統(tǒng)變量與狀態(tài)變量詳細(xì)介紹

    Mysql系統(tǒng)變量與狀態(tài)變量詳細(xì)介紹

    這篇文章主要介紹了Mysql系統(tǒng)變量與狀態(tài)變量詳細(xì)介紹,能夠在程序運(yùn)行過程中影響Mysql程序行為的變量稱之為系統(tǒng)變量,想了解更多相關(guān)內(nèi)容的小伙伴可以參考下面文章內(nèi)容
    2022-09-09
  • MySQL查看數(shù)據(jù)庫連接數(shù)的方法

    MySQL查看數(shù)據(jù)庫連接數(shù)的方法

    本文主要介紹了MySQL查看數(shù)據(jù)庫連接數(shù)的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • MySQL主鍵索引和非主鍵索引的實(shí)現(xiàn)

    MySQL主鍵索引和非主鍵索引的實(shí)現(xiàn)

    本文主要介紹了MySQL主鍵索引和非主鍵索引的實(shí)現(xiàn),文中詳細(xì)的介紹了主鍵索引和非主鍵索引有不同的作用和特點(diǎn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • 淺談Mysql主鍵索引與非主鍵索引區(qū)別

    淺談Mysql主鍵索引與非主鍵索引區(qū)別

    本文主要介紹了ysql主鍵索引與非主鍵索引區(qū)別,文中介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-09-09
  • 詳解MySQL中的存取權(quán)限

    詳解MySQL中的存取權(quán)限

    這篇文章主要介紹了詳解MySQL中的存取權(quán)限,針對(duì)用戶使用數(shù)據(jù)庫權(quán)限分配的問題做出說明,需要的朋友可以參考下
    2015-07-07
  • MySQL數(shù)據(jù)庫之內(nèi)置函數(shù)和自定義函數(shù) function

    MySQL數(shù)據(jù)庫之內(nèi)置函數(shù)和自定義函數(shù) function

    這篇文章主要介紹了MySQL數(shù)據(jù)庫之內(nèi)置函數(shù)和自定義函數(shù) function,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下
    2022-06-06
  • SQL LIKE運(yùn)算符用法示例及通配符解釋

    SQL LIKE運(yùn)算符用法示例及通配符解釋

    這篇文章主要為大家介紹了SQL LIKE運(yùn)算符用法示例及通配符解釋,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • SQL中distinct 和 row_number() over() 的區(qū)別及用法

    SQL中distinct 和 row_number() over() 的區(qū)別及用法

    這篇文章主要介紹了SQL中distinct 和 row_number() over() 的區(qū)別及用法的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • mysql數(shù)據(jù)庫設(shè)置utf-8編碼的方法步驟

    mysql數(shù)據(jù)庫設(shè)置utf-8編碼的方法步驟

    這篇文章主要介紹了mysql數(shù)據(jù)庫設(shè)置utf-8編碼的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • MySQL修改表結(jié)構(gòu)操作命令總結(jié)

    MySQL修改表結(jié)構(gòu)操作命令總結(jié)

    這篇文章主要介紹了MySQL修改表結(jié)構(gòu)操作命令總結(jié),包含如刪除列、添加列、修改列、添加主鍵、刪除主鍵、添加唯一索引、添加普通索引等內(nèi)容,需要的朋友可以參考下
    2014-12-12

最新評(píng)論