MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む

このページは機械翻訳したものです。

14.5 INFORMATION_SCHEMA とデータディクショナリの統合

データディクショナリの導入により、次の INFORMATION_SCHEMA テーブルがデータディクショナリテーブルのビューとして実装されます:

これらのテーブルに対するクエリーは、他の低速な方法ではなくデータディクショナリテーブルから情報を取得するため、より効率的になりました。 特に、データディクショナリテーブルのビューである INFORMATION_SCHEMA テーブルごとに、次のようにします:

前述の改善は、データディクショナリテーブルのビューである INFORMATION_SCHEMA テーブルに対応する情報を表示する SHOW ステートメントにも適用されます。 たとえば、SHOW DATABASES では、SCHEMATA テーブルと同じ情報が表示されます。

データディクショナリテーブルのビューの導入に加えて、STATISTICS テーブルおよび TABLES テーブルに含まれるテーブル統計がキャッシュされ、INFORMATION_SCHEMA クエリーのパフォーマンスが向上しました。 information_schema_stats_expiry システム変数は、キャッシュされたテーブルの統計が期限切れになるまでの期間を定義します。 デフォルトは 86400 秒 (24 時間) です。 キャッシュされた統計がない場合、または統計が期限切れになっている場合は、テーブル統計カラムのクエリー時にストレージエンジンから統計が取得されます。 特定のテーブルのキャッシュされた値をいつでも更新するには、ANALYZE TABLE を使用

information_schema_stats_expiry0 に設定すると、INFORMATION_SCHEMA クエリーでストレージエンジンから直接最新の統計を取得できます。これは、キャッシュされた統計の取得ほど高速ではありません。

詳細は、セクション8.2.3「INFORMATION_SCHEMA クエリーの最適化」を参照してください。

MySQL 8.0 の INFORMATION_SCHEMA テーブルはデータディクショナリに密接に関連付けられているため、いくつかの使用方法が異なります。 セクション14.7「データディクショナリの使用方法の違い」を参照してください。