天天看點

如何檢視mysql中表的存儲引擎類型

 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 test

Database:mytest  Wildcard: test

可以看到Engine對應的值是MyISAM

3.show create table 表名

這種方法有時候是不準确的,例:

伺服器配置沒有啟用InnoDB存儲引擎,在建立表的時候設定的是InnoDB存儲引擎,建立表時的指令:

mysql> create database mytest;

Query OK, 1 row affected (0.02 sec)

mysql> use mytest;

Database changed

mysql> 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)

此時使用上面的方法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)

本文轉自月魔zhi蕾51CTO部落格,原文連結:http://blog.51cto.com/308107405/1349447 ,如需轉載請自行聯系原作者