無料PHPプログラム

MySQL 5.1 リファレンスマニュアル :: 13 ストレージエンジンとテーブルタイプ :: 13.5 InnoDB ストレージ エンジン :: 13.5.6 InnoDB テーブルの作成と利用
« 13.5.5.1 InnoDB 初期化問題の扱い

13.5.6.1 異なる API と共に InnoDB 内でトランザクションをどのように利用するか »
Section Navigation      [Toggle]
  • 13.5 InnoDB ストレージ エンジン
  • 13.5.1 InnoDB 概要
  • 13.5.2 InnoDB 連絡先情報
  • 13.5.3 InnoDB 設定
  • 13.5.4 InnoDB 起動オプションとシステム変数
  • 13.5.5 InnoDB テーブルスペースを作成する
  • 13.5.6 InnoDB テーブルの作成と利用
    • 13.5.6.1 異なる API と共に InnoDB 内でトランザクションをどのように利用するか
    • 13.5.6.2 MyISAM テーブルを InnoDB に変換する
    • 13.5.6.3 AUTO_INCREMENT カラムが InnoDB 内でどのように機能するか
    • 13.5.6.4 FOREIGN KEY 制約
    • 13.5.6.5 InnoDB と MySQL 複製
  • 13.5.7 InnoDB データとログ ファイルの追加と削除
  • 13.5.8 InnoDB データベースのバックアップと復旧
  • 13.5.9 InnoDB データベースを別のマシンに移動する
  • 13.5.10 InnoDB トランザクション モデルとロック
  • 13.5.11 InnoDB パフォーマンス チューニング ヒント
  • 13.5.12 マルチバージョンの実装
  • 13.5.13 InnoDB テーブルとインデックス構造
  • 13.5.14 InnoDB ファイル領域の管理とディスク I/O
  • 13.5.15 InnoDB エラー処理
  • 13.5.16 InnoDB テーブル上の制約
  • 13.5.17 InnoDB トラブルシューティング

13.5.6. InnoDB テーブルの作成と利用

[+/-]

13.5.6.1. 異なる API と共に InnoDB 内でトランザクションをどのように利用するか
13.5.6.2. MyISAM テーブルを InnoDB に変換する
13.5.6.3. AUTO_INCREMENT カラムが InnoDB 内でどのように機能するか
13.5.6.4. FOREIGN KEY 制約
13.5.6.5. InnoDB と MySQL 複製

InnoDB テーブルを作成する為には、CREATE TABLE ステートメント内で ENGINE = InnoDB オプションを指定してください:

CREATE TABLE customers (a INT, b CHAR (20), INDEX (a)) ENGINE=InnoDB;

このステートメントは、my.cnf 内で指定したデータ ファイルで構成されている InnoDB テーブルスペース内のカラム a 上でテーブルとインデックスを作成します。さらに、MySQL は MySQL データベース ディレクトリ下の test ディレクトリ内でファイル customers.frm を作成します。内部的に、InnoDB はそれ自体のデータ ディレクトリのテーブルにエントリを追加します。そのエントリはデータベース名を含んでいます。例えば、もし test が customers テーブルが作成されたデータベースであれば、エントリは 'test/customers' の為の物になります。これは、他のいくつかのデータベース内で、同名 customers のテーブルを作成する事ができ、そしてそのテーブル名は InnoDB 内で衝突しないという事を意味します。

InnoDB テーブルに SHOW TABLE STATUS ステートメントを発行する事で、InnoDB テーブルスペース内の空き領域の量をクエリする事ができます。SHOW TABLE STATUS のアウトプット内の Comment セクション内に現れるテーブルスペース内の空き領域の量。例:

SHOW TABLE STATUS FROM test LIKE 'customers'

SHOW が InnoDB テーブルの為に表示する統計は単なる概算であるという事に注意してください。それらは SQL 最適化の中で利用されます。しかしテーブルやインデックスの、準備されていたバイトでのサイズは正確です。

Copyright c 1997, 2010, Oracle and/or its affiliates. All rights reserved. Legal Notices
Top / Previous / Next / Up / Table of Contents
© 2010, Oracle Corporation and/or its affiliates

無料CGI PHPスクリプト | 新着情報スクリプト | 営業日カレンダー | PHPマニュアル | MySQLマニュアル | PEARマニュアル

Copyright (c) 2010 jmcodex.com All rights reserved.