- 更新日: 2013年12月6日
- MySQL & DB
MySQL で InnoDB/MyISAM のどちらのストレージエンジンであるかを確認するクエリ
スポンサーリンク
以下の mysql クエリーで、MySQL でテーブル毎に InnoDB/MyISAM のどちらのストレージエンジンであるかを確認できます。
1 2 3 4 5 |
$ mysql -u root -p mysql> use information_schema; mysql> select table_name, engine from tables where table_schema = "DB名"; |
【お知らせ】 英単語を画像イメージで楽に暗記できる辞書サイトを作りました。英語学習中の方は、ぜひご利用ください!
スポンサーリンク
WordPress と DB のデフォルトのストレージエンジンを確認
WordPress の DB でストレージエンジンを確認。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
mysql> select table_name, engine from tables where table_schema = "wordpress_db"; +-----------------------+--------+ | table_name | engine | +-----------------------+--------+ | wp_commentmeta | InnoDB | | wp_comments | InnoDB | | wp_links | InnoDB | | wp_options | InnoDB | | wp_postmeta | InnoDB | | wp_posts | InnoDB | | wp_term_relationships | InnoDB | | wp_term_taxonomy | InnoDB | | wp_terms | InnoDB | | wp_usermeta | InnoDB | | wp_users | InnoDB | +-----------------------+--------+ 11 rows in set (0.00 sec) |
Rails の DB でストレージエンジンを確認。
1 2 3 4 5 6 7 8 9 10 |
mysql> select table_name, engine from tables where table_schema = "railsapp_development"; +-------------------+--------+ | table_name | engine | +-------------------+--------+ | schema_migrations | InnoDB | | users | InnoDB | +-------------------+--------+ 2 rows in set (0.00 sec) |
いずれもデフォルトで、InnoDB となっていました。Wordpress だとコメントやトラックバックやら、Rails だと has_many があるので、トランザクションが使えないとおかしくなりますから当然ちゃー当然。むしろ、MyISAMを使うのってどんなケースだろう。関連テーブルが全くない場合や、更新・削除一切なしで検索だけのDBならMyISAMで良さそうですけど。
show table status; を使う方法
以下、使うDBを指定して行う、もう一つの確認方法。Engine 以外にもテーブルの状態を色々と確認できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
mysql> use rails_development; mysql> show table status; +-------------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+---------+ | 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 | Collation | Checksum | Create_options | Comment | +-------------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+---------+ | schema_migrations | InnoDB | 10 | Compact | 1 | 16384 | 16384 | 0 | 0 | 9437184 | NULL | 2013-12-03 14:07:29 | NULL | NULL | utf8_general_ci | NULL | | | | users | InnoDB | 10 | Compact | 2 | 8192 | 16384 | 0 | 32768 | 9437184 | 3 | 2013-12-03 14:07:29 | NULL | NULL | utf8_general_ci | NULL | | | +-------------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+---------+ 2 rows in set (0.00 sec) mysql>quit; |
以上です。
スポンサーリンク
現場で使えるMySQLは長くお世話になっていて、MySQL触る人には必須の本。
>> 次の記事 : Mac 用 GUI 対応の SQLite3 管理ツール
- MySQL & DB の関連記事
- MySQLでBLOB/TEXT型のカラムにはデフォルト値を設定できない
- SQLite3でDBテーブルをdumpバックアップ
- Warning: mysql_connect() PHPからMySQL接続でsocketエラー
- phpMyAdminでMySQLをバックアップ(エクスポート)
- MySQLが起動しないエラー(The server quit without updating PID file)
- phpMyAdminで#2002 Cannot log in to the MySQL serverエラー
- libaio.so.1, openssl-devel がなくて mysql-server, mysql-devel をインストールできないエラー
- MySQLオプション(/etc/my.cnf)の設定例
- my.cnf の innodb_data_file_path, innodb_log_file_size 設定で MySQL が起動しなくなる場合の対処
- my.cnfで設定するMySQLオプションで重要そうなのまとめ
Leave Your Message!