久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

什么是InnoDB存儲引擎

153次閱讀
沒有評論

共計 2445 個字符,預計需要花費 7 分鐘才能閱讀完成。

這篇文章主要介紹“什么是 InnoDB 存儲引擎”,在日常操作中,相信很多人在什么是 InnoDB 存儲引擎問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”什么是 InnoDB 存儲引擎”的疑惑有所幫助!接下來,請跟著丸趣 TV 小編一起來學習吧!

1. InnoDB 簡介

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

#  查看 MySQL 支持的存儲引擎
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 |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
#  查看默認存儲引擎
mysql  show variables like  default_storage_engine 
+------------------------+--------+
| Variable_name | Value |
+------------------------+--------+
| default_storage_engine | InnoDB |
+------------------------+--------+

2. InnoDB 優勢

InnoDB 之所以如此受寵,主要在于其功能方面的較多優勢。

1)支持事務

InnoDB 最重要的一點就是支持事務,可以說這是 InnoDB 成為 MySQL 中最流行的存儲引擎的一個非常重要的原因。此外 InnoDB 還實現了 4 種隔離級別(READ UNCOMMITTED,READ COMMITTED,REPEATABLE READ 和 SERIALIZABLE),使得對事務的支持更加靈活。

2)災難恢復性好

InnoDB 通過 commit、rollback、crash-recovery 來保障數據的安全。

具體來說,crash-recovery 就是指如果服務器因為硬件或軟件的問題而崩潰,不管當時數據是怎樣的狀態,在重啟 MySQL 后,InnoDB 都會自動恢復到發生崩潰之前的狀態。

3)使用行級鎖

InnoDB 改變了 MyISAM 的鎖機制,實現了行鎖。雖然 InnoDB 的行鎖機制是通過索引來完成的,但畢竟在數據庫中大部分的 SQL 語句都要使用索引來檢索數據。行鎖定機制也為 InnoDB 在承受高并發壓力的環境下增強了不小的競爭力。

4)實現了緩沖處理

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

5)支持外鍵

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

到此,關于“什么是 InnoDB 存儲引擎”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注丸趣 TV 網站,丸趣 TV 小編會繼續努力為大家帶來更多實用的文章!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-27發表,共計2445字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 永清县| 鄂尔多斯市| 商丘市| 开原市| 邵阳县| 天全县| 伽师县| 北宁市| 大连市| 炉霍县| 荔波县| 滦南县| 静乐县| 来凤县| 綦江县| 诸城市| 确山县| 通州市| 丰城市| 东乌| 五大连池市| 永福县| 西贡区| 饶平县| 镇沅| 威信县| 滦南县| 司法| 手机| 青川县| 万安县| 长治县| 铅山县| 新沂市| 兴业县| 黔西| 台安县| 神农架林区| 泸溪县| 姚安县| 镇宁|