Shoeisha Technology Media

EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

第10回 MySQL事始 ストレージエンジン(1) アーキテクチャ概要

edited by DB Online   2012/01/26 00:00

ストレージエンジンの指定方法

 テーブルの作成時 CREATE TABLE 文でに明示的にストレージエンジンを指定できます。

CREATE TABLE t (i INT) ENGINE = InnoDB; 

 指定がない場合は、MySQLサーバはデフォルトのストレージエンジンを利用します。何も設定していない場合はMySQL 5.5以上ではInnoDB(MySQL 5.1以下ではMyISAM)となります。MySQLサーバはデフォルトを起動オプション`--default-storage-engine`で設定可能です。

 現在のデフォルトのストレージエンジンはサーバ環境変数の @@storage_engine で確認します。

mysql> SELECT @@storage_engine;
+------------------+
| @@storage_engine |
+------------------+
| InnoDB           |
+------------------+
1 row in set (0.00 sec)

ストレージエンジンの変更方法

 作成済みのテーブルのストレージエンジンは ALTER TABLE 文で変更可能です。

ALTER TABLE t ENGINE = MEMORY; 

 非常にシンプルな構文でストレージエンジンの変更が可能ですが、内部的には同じテーブル定義で新しいストレージエンジンの空のテーブルを作成し、元のテーブルデータをロードしますので、データサイズが大きい場合には処理時間に注意が必要です。

ストレージエンジンの確認方法

 作成済みのテーブルのストレージエンジンの確認は以下のいずれかの方法で可能です。

SHOW CREATE TABLE City\G

 または

SHOW TABLE STATUS LIKE 'CountryLanguage'\G

 また、メタデータを管理するスキーマ INFORMATION_SCHEMA にもストレージエンジンを含むテーブルの情報が管理されています。

SELECT TABLE_NAME, ENGINE FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'City'
AND TABLE_SCHEMA = 'world'\G


著者プロフィール

  • 梶山隆輔(カジヤマリュウスケ)

    日本オラクル株式会社 MySQL Global Business Unit Asia Pacific & Japan担当 MySQL Principal Sales Consultant オラクル社において、MySQLのお客様環境への導入支援や製品の技術解説を担当するセールスコンサルタントチームのアジア太平洋地域リーダー。多国籍なMySQL部門にて、台湾、オーストラリア、インドに在籍するチームメンバーを束ね、アジア太平洋地域の25以上の国や地域でのMySQL普及やビジネスの拡大をミッションとする。  

バックナンバー

連載:MySQL事始

もっと読む

All contents copyright © 2007-2020 Shoeisha Co., Ltd. All rights reserved. ver.1.5