Mysql -存儲引擎

一、存儲引擎:是表級別的類型。mysql

二、查看錶存儲引擎的方法:sql

(1)、mysql> show table status in mydb where name='classes'\G;數據庫

1. row 併發

Name: classes 表名ide

Engine: InnoDB 存儲引擎性能

Version: 10 表的當前版本(多版本併發)大數據

Row_format: Compact 行格式日誌

Rows: 4 表中的數據行數code

Avg_row_length: 4096 平均每行包含的字節數orm

Data_length: 16384 表中數據的總字節數

Max_data_length: 0 表可以佔用的最大空間,單位字節

Index_length: 0 索引的大小,單位字節

Data_free: 8388608

Auto_increment: 5 下一個Auto_increment值

Create_time: 2015-12-24 18:35:10 表的建立時間

Update_time: NULL 表數據最近一次的修改時間

Check_time: NULL 使用check table 或 myisamchk最近一次檢測表的時間

Collation: utf8_general_ci 排序規則

Checksum: NULL

Create_options: 建立表時指定的選項。

Comment: 表的註釋

(2)、mysql>use mydb;

mysql> show table status like 'classes'\G;

1. row

Name: classes

Engine: InnoDB

Version: 10

Row_format: Compact

Rows: 4

Avg_row_length: 4096

Data_length: 16384

Max_data_length: 0

Index_length: 0

Data_free: 8388608

Auto_increment: 5

Create_time: 2015-12-24 18:35:10

Update_time: NULL

Check_time: NULL

Collation: utf8_general_ci

Checksum: NULL

Create_options:

Comment:

三、InnoDB存儲引擎的特性:

(1)、支持事務:事務日誌。

(2)、支持外鍵

(3)、MVCC多版本併發控制

(4)、支持聚簇索引也叫彙集索引,因聚簇索引的索引文件和數據文件放置到一塊兒,所以聚簇索引只能有一個,

通常用主鍵作聚簇索引。那麼,其餘非聚簇索引一般稱爲輔助索引

(輔助索引的索引文件和數據文件不放置到一塊兒),輔助索引能夠有多個。

(5)、支持熱備份,前提是表存儲時使用獨立表空間(innoDB_file_pre_table=ON )。

(6)、支持行級鎖。

(7)、數據庫崩潰後能夠恢復數據,因有事務日誌。

四、MyISAM存儲引擎的特性:

(1)、不支持事務。

(2)、不支持外鍵。

(3)、不支持行級鎖,支持表級鎖。

(4)、支持延遲更新索引。

(5)、支持全文索引。

(6)、適用場景:讀多寫少、數據較小的表;能容忍崩潰後的修改操做和數據丟失。

(7)、此存儲引擎要按期處理磁盤碎片,否則速度回愈來愈慢,命令是:optimize table 表名。

五、ARCHIVE存儲引擎的特性:

(1)、僅支持insert和select,支持很好的壓縮功能。

(2)、適用於存儲日誌信息或者其它按時間序列實現的數據採集類的應用。

(3)、不支持事務和索引。

六、第三方的存儲引擎:

(1)、XtraDB:加強版的InnoDB,由Percona提供;

編譯安裝時,下載XtraDB的源碼替換爲Mysql存儲引擎中的InnoDB的源碼,

XtraDB已做爲MariaDB中的默認的存儲引擎。

(2)、TokuDB:使用Fractal Trees索引,性能很高,特別適用於存儲大數據的表,

已被引入到新版的MariaDB中。

(3)、PBXT:MariaDB自帶此存儲引擎,對SSD硬盤提供適當的支持,

支持事務、MVCC、外鍵約束等,性能也比較高。

相關文章
相關標籤/搜索