程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 14.1節:InnoDB簡介,14.1innodb簡介

14.1節:InnoDB簡介,14.1innodb簡介

編輯:MySQL綜合教程

14.1節:InnoDB簡介,14.1innodb簡介


 

14.1.1. InnoDB-MySQL默認的存儲引擎

14.1.2. 檢測InnoDB的可用性

14.1.3. 關閉InnoDB

 

       InnoDB是一個兼顧高可靠性和高性能的通用存儲引擎。在MySQL5.5中InnoDB是默認的存儲引擎。在MySQL5.7中

執行Create Table語句的時候如果不是用engine=語句來指定所使用的存儲引擎,那麼默認將會使用InnoDB存儲引擎。如

下圖1實驗結果即可證明

mysql> create table innodb(
    ->  id int primary key,
    ->  name varchar(20)
    -> )
    -> ;
Query OK, 0 rows affected (1.02 sec)

mysql> show create table  innodb;
+--------+------------------------------------------------------------------------------------------
-----------------------------------------------------+
| Table  | Create Table
                                                     |
+--------+------------------------------------------------------------------------------------------
-----------------------------------------------------+
| innodb | CREATE TABLE `innodb` (
  `id` int(11) NOT NULL,
  `name` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+--------+------------------------------------------------------------------------------------------
-----------------------------------------------------+
1 row in set (0.01 sec)

 

從上面的實驗結果可以看出,create table的時候默認是innodb存儲引擎的。

 

InnoDB的優勢:

使用InnoDB引擎建的表有如下的優勢:

1. 使用InnoDB引擎建的表是DML(delete,update,insert)操作遵循ACID模型;支持事務操作,如commit,
    rollback,還支持故障恢復。所有這些都能很好的保護用戶的數據。

2. InnoDB存儲引擎提供了行級鎖,也提供了跟oracle類似的一致性讀。這個特性可以大大提高多用戶並發,提升
    MySQL的性能。

3. InnoDB的表根據主鍵來組織數據,這樣能優化查詢效率(聚簇索引)

4. 為了保證數據的完整性,InnoDB支持外鍵約束。插入,更新,刪除數據的時候,就會檢查外鍵約束

5. 你可以很自由的混合使用InnoDB引擎的表和其他引擎建立的表,甚至可以在同一條sql語句中混用,比如,你可以
    對一個Innodb的表和一個Memory引擎的表做join操作。

6. InnoDB已經為大數據量處理做了很大程度的優化,他的性能很少能有其他的基於硬盤存儲的數據可可以比得上的

 

InnoDB引擎的特征

        InnoDB存儲引擎在主存中會有緩沖池來緩存數據和索引。可以通過設置innodb_file_per_table為啟用狀態使InnoDB的每

張表和該表的索引存儲到單獨的文件。當通過innodb_file_per_table被禁用的時候,InnoDB會把所有的表及索引都存儲到system

tablespace(可能會包含幾個文件或者磁盤分區)。InnoDB可以處理大批量數據,盡管有些操作系統有單個文件大小2G的限制。

 

InnoDB的增強功能和新特性

         在MySQL5.7中InnoDB的新特性可以參考如下文章(還沒寫。。)




  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved