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