MySQL 5.1 リファレンスマニュアル :: 12 SQL ステートメント構文 :: 12.5 データベース管理ステートメント :: 12.5.2 テーブル メンテナンス ステートメント :: 12.5.2.1 ANALYZE TABLE 構文
« 12.5.2 テーブル メンテナンス ステートメント

12.5.2.2 BACKUP TABLE 構文 »
Section Navigation      [Toggle]
  • 12.5.2 テーブル メンテナンス ステートメント
  • 12.5.2.1 ANALYZE TABLE 構文
  • 12.5.2.2 BACKUP TABLE 構文
  • 12.5.2.3 CHECK TABLE 構文
  • 12.5.2.4 CHECKSUM TABLE 構文
  • 12.5.2.5 OPTIMIZE TABLE 構文
  • 12.5.2.6 REPAIR TABLE 構文
  • 12.5.2.7 RESTORE TABLE 構文

12.5.2.1. ANALYZE TABLE 構文

ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...

ANALYZE TABLE はテーブルのキーの分布を分析、格納します。分析の最中に、テーブルは MyISAM のリード ロックを利用してロックされます。InnoDB には、テーブルは書き込みロックでロックされます。このステートメントは MyISAM と InnoDB テーブルと共に機能します。MyISAM テーブルにとっては、このステートメントは myisamchk --analyze を利用する事と同じです。

解析が InnoDB 内でどのように機能するのかという事に関する情報については、項13.5.16. 「InnoDB テーブル上の制約」 を参照してください。

MySQL は、定数以外の何かに対して接合を実行した時、どの順番でテーブルが接合されるべきかを決める為に格納されたキー分布を利用します。

このステートメントはテーブルに SELECT と INSERT 権限を要求します。

ANALYZE TABLE は次のカラムを利用して結果セットを返します。

カラム 値
Table テーブル名
Op いつも analyze
Msg_type status、error、info、または warning の1つ
Msg_text メッセージ

SHOW INDEX ステートメントを利用して格納されたキー分布を確認する事ができます。詳しくは 項12.5.4.17. 「SHOW INDEX 構文」 を参照してください。

もしテーブルが前回の ANALYZE TABLE ステートメント以降変更されていなければ、そのテーブルは再解析されません。

ANALYZE TABLE ステートメントは、任意の NO_WRITE_TO_BINLOG キーワード(またはそのエイリアス LOCAL)が利用されない限り、バイナリ ログに書きこまれます。これは、複製マスタとして機能している MySQL サーバ上で利用される ANALYZE TABLE ステートメントが、複製スレーブにデフォルトで複製される為に行われます。

Copyright © 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