mysql支援多種儲存引擎,在處理不同類型的應用時,可以通過選擇使用不同的儲存引擎提高應用的效率,或者提供靈活的儲存。
mysql的儲存引擎包括:MyISAM、InnoDB、BDB、MEMORY、MERGE、EXAMPLE、NDB Cluster、ARCHIVE、CSV、BLACKHOLE、FEDERATED等,其中InnoDB和BDB提供事務安全表,其它儲存引擎都是非事務安全表。
查看mysql中表的儲存引擎類型有幾個方法,具體如下:
1.show table status from 資料庫庫名 where name='表名',例:
mysql> SHOW TABLE STATUS from mytest where Name='test';+------------+--------+---------+------------+------+----------------+-------------+(省略部分結果)| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length |(省略部分結果)+------------+--------+---------+------------+------+----------------+-------------+(省略部分結果)| test | MyISAM | 10 | Fixed | 0 | 0 | 0 |(省略部分結果)+------------+--------+---------+------------+------+----------------+-------------+(省略部分結果)1 row in set (0.02 sec)mysql>
看到Engine對應的值是MyISAM
2.mysqlshow -u 資料庫登入帳號使用者名稱 -p'資料庫登入帳號密碼' --status 資料庫庫名 表名
mysqlshow -uroot -p'mypassword' --status mytest testDatabase:mytest Wildcard: test+------------+--------+---------+------------+------+----------------+-------------+(省略部分結果)| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length |(省略部分結果)+------------+--------+---------+------------+------+----------------+-------------+(省略部分結果)| test | MyISAM | 10 | Fixed | 0 | 0 | 0 |(省略部分結果)+------------+--------+---------+------------+------+----------------+-------------+(省略部分結果)
可以看到Engine對應的值是MyISAM
3.show create table 表名
這種方法有時候是不準確的,例:
伺服器配置沒有啟用InnoDB儲存引擎,在建立表的時候設定的是InnoDB儲存引擎,建立表時的命令:
mysql> create database mytest;
Query OK, 1 row affected (0.02 sec)mysql> use mytest;Database changedmysql> CREATE TABLE test (-> id INT(11) default NULL auto_increment,-> s char(60) default NULL,-> PRIMARY KEY (id)-> ) ENGINE=InnoDB;Query OK, 0 rows affected, 2 warnings (0.06 sec)mysql>
此時使用上面的方法1和2查看會看到test表使用的引擎是MyISAM,但是使用3查看會看到如上的結果。而實際上test表使用的儲存引擎是MyISAM的。
4.查看mysql伺服器是否啟用InnoDB儲存引擎:
返回結果是: "InnoDB" 對應的 "Support"等於 “NO” ,表示未啟用 InnoDB 儲存引擎。
mysql> SHOW ENGINES;+------------+---------+----------------------------------------------------------+(省略部分結果)| Engine | Support | Comment |(省略部分結果)+------------+---------+----------------------------------------------------------+(省略部分結果)| InnoDB | NO | Supports transactions, row-level locking, and foreign keys|(省略部分結果)| MRG_MYISAM | YES | Collection of identical MyISAM tables |(省略部分結果)| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disa(省略部分結果)| CSV | YES | CSV storage engine |(省略部分結果)| MEMORY | YES | Hash based, stored in memory, useful for temporary tables|(省略部分結果)| FEDERATED | NO | Federated MySQL storage engine |(省略部分結果)| ARCHIVE | YES | Archive storage engine |(省略部分結果)| MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great performance|(省略部分結果)+------------+---------+----------------------------------------------------------+(省略部分結果)8 rows in set (0.00 sec)mysql>
本文出自 “兵臨城下” 部落格,請務必保留此出處http://308107405.blog.51cto.com/6396647/1349447