SQLチューニングの概要
SQLは宣言型言語です。つまり、SQL文は最終結果がどのようになるべきかを記述するものであり、順番に実行する一連の手順を記述するものではありません。TiDBは実行を最適化し、記述どおりに最終結果を正しく返す限り、クエリの各部分を任意の順序で実行することを意味的に許可します。
SQL最適化との便利な比較例として、GPSナビゲーションの使用時に何が起こるかを説明することが挙げられます。入力された住所( 2955 Campus Drive San Mateo CA 94403)から、GPSソフトウェアは最も時間効率の高いルートを計画します。過去の走行履歴、速度制限などのメタデータ、そして最近では交通情報のライブフィードなど、様々な統計情報も活用します。これらの類似点のいくつかはTiDBにも当てはまります。
このセクションでは、クエリ実行に関するいくつかの概念について説明します。
- クエリ実行プランを理解する 、TiDB がステートメントの実行を決定した方法を理解するためにEXPLAINステートメントを使用する方法を紹介します。
- SQL最適化プロセス 、クエリ実行パフォーマンスを向上させるために TiDB が使用できる最適化が導入されています。
- 制御実行計画 、実行計画の生成を制御する方法が導入されました。これは、TiDBによって決定された実行計画が最適ではない場合に役立ちます。
- インデックスアドバイザー 、ワークロードに基づいて TiDB が自動的にインデックスを推奨する方法が導入されています。