特定のテーブルのMySQLエンジンタイプを確認するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/213543

  •  03-07-2019
  •  | 
  •  

質問

MySQLデータベースには、異なるストレージエンジンを使用した複数のテーブルが含まれています (特にmyisamおよびinnodb)。どのテーブルがどのようになっているかを知るにはどうすればよいですか どのエンジンを使用していますか

役に立ちましたか?

解決

SHOW TABLE STATUS WHERE Name = 'xxx'

これにより、(とりわけ) Engine 列が得られます。これは必要なものです。

他のヒント

データベース内のすべてのテーブルとそのエンジンのリストを表示するには、次のSQLクエリを使用します。

SELECT TABLE_NAME,
       ENGINE
FROM   information_schema.TABLES
WHERE  TABLE_SCHEMA = 'dbname';

dbname をデータベース名に置き換えます。

SHOW CREATE TABLE <tablename>;

解析しにくいが、 SHOW TABLE STATUS より読みやすい。

または単に

テーブルの状態を表示;

データベース上のすべてのテーブルをリストするだけです。

Jockerの応答の微調整(コメントとして投稿しますが、まだ十分なカルマがありません):

SELECT TABLE_NAME, ENGINE
  FROM information_schema.TABLES
 WHERE TABLE_SCHEMA = 'database' AND ENGINE IS NOT NULL;

これにより、エンジンを持たないMySQLビューがリストから除外されます。

SHOW CREATE TABLE <tablename>\G

の出力と比較してはるかにきれいにフォーマットします

SHOW CREATE TABLE <tablename>;

\ G トリックは、他の多くのクエリ/コマンドでも覚えておくと便利です。

mysqlshow -i <database_name>

特定のデータベースのすべてのテーブルの情報が表示されます。

mysqlshow -i <database_name> <table_name> 

特定のテーブルに対してのみそうします。

MySQL Workbenchを使用している場合は、テーブルを右クリックして「alter table」を選択できます。

そのウィンドウで、テーブルエンジンを確認し、変更することもできます。

Linuxユーザーの場合:

テーブル information_schema mysql performance_schema なしで、mysqlサーバー上のすべてのデータベースのすべてのテーブルのエンジンを表示するには:

less < <({ for i in $(mysql -e "show databases;" | cat | grep -v -e Database-e information_schema -e mysql -e performance_schema); do echo "--------------------$i--------------------";  mysql -e "use $i; show table status;"; done } | column -t)

少なくともLinuxを使用している場合は、これが好きかもしれません。

すべてのテーブルのすべての情報を less で開き、 -S を押して長すぎる行を切り取ります。

出力例:

--------------------information_schema--------------------
Name                                                        Engine              Version  Row_format  Rows   Avg_row_length  Data_length  Max_data_length     Index_length  Data_free  Auto_increment  Create_time  Update_time  Check_time  C
CHARACTER_SETS                                              MEMORY              10       Fixed       NULL   384             0            16434816            0             0          NULL            2015-07-13   15:48:45     NULL        N
COLLATIONS                                                  MEMORY              10       Fixed       NULL   231             0            16704765            0             0          NULL            2015-07-13   15:48:45     NULL        N
COLLATION_CHARACTER_SET_APPLICABILITY                       MEMORY              10       Fixed       NULL   195             0            16357770            0             0          NULL            2015-07-13   15:48:45     NULL        N
COLUMNS                                                     MyISAM              10       Dynamic     NULL   0               0            281474976710655     1024          0          NULL            2015-07-13   15:48:45     2015-07-13  1
COLUMN_PRIVILEGES                                           MEMORY              10       Fixed       NULL   2565            0            16757145            0             0          NULL            2015-07-13   15:48:45     NULL        N
ENGINES                                                     MEMORY              10       Fixed       NULL   490             0            16574250            0             0          NULL            2015-07-13   15:48:45     NULL        N
EVENTS                                                      MyISAM              10       Dynamic     NULL   0               0            281474976710655     1024          0          NULL            2015-07-13   15:48:45     2015-07-13  1
FILES                                                       MEMORY              10       Fixed       NULL   2677            0            16758020            0             0          NULL            2015-07-13   15:48:45     NULL        N
GLOBAL_STATUS                                               MEMORY              10       Fixed       NULL   3268            0            16755036            0             0          NULL            2015-07-13   15:48:45     NULL        N
GLOBAL_VARIABLES                                            MEMORY              10       Fixed       NULL   3268            0            16755036            0             0          NULL            2015-07-13   15:48:45     NULL        N
KEY_COLUMN_USAGE                                            MEMORY              10       Fixed       NULL   4637            0            16762755            0 

.
.
.

さらに別の方法、おそらく単一または一致したテーブルのセットのステータスを取得する最短:

SHOW TABLE STATUS LIKE 'table';

次に、たとえばLIKE演算子を使用できます。

SHOW TABLE STATUS LIKE 'field_data_%';
  

database_nameのテーブルステータスを表示する

上記のデータベースのすべてのテーブルがリストされます。
出力例

 mysql dbのサンプル出力

  

name = your_desired_table_name;のテーブルステータスを表示します。

この表で使用されるストレージエンジンが表示されます。

information_schemaデータベースに移動すると、「テーブル」テーブルが表示され、選択されます。

Mysql&gt; use information_schema; Mysql&gt;テーブルからtable_name、engineを選択します。

あなたが GUI の男で、 PhpMyAdmin で見つけたい場合は、選択したテーブルを選択して、 Operations >タブ&gt;&gt; テーブルオプション&gt;&gt; ストレージエンジン。 ドロップダウンオプションリストを使用して、そこから変更することもできます。

PS:このガイドはPhpMyAdminのバージョン4.8に基づいています。非常に古いバージョンに対して同じパスを保証することはできません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top