SQL パフォーマンスの最適化の概要

このドキュメントでは、TiDB で SQL ステートメントのパフォーマンスを最適化する方法を紹介します。優れたパフォーマンスを得るには、次の側面から始めることができます。

  • SQL パフォーマンスのチューニング
  • スキーマ設計: アプリケーションのワークロード パターンに基づいて、トランザクションの競合やホット スポットを回避するためにテーブル スキーマを変更する必要がある場合があります。

SQL パフォーマンスのチューニング

優れた SQL ステートメントのパフォーマンスを得るには、次のガイドラインに従うことができます。

  • できるだけ少ない行をスキャンします。必要なデータのみをスキャンし、余分なデータをスキャンしないことをお勧めします。
  • 適切なインデックスを使用してください。 SQL のWHERE句の列に対応するインデックスがあることを確認してください。そうでない場合、ステートメントは全表スキャンを伴うため、パフォーマンスが低下します。
  • 正しい結合タイプを使用してください。クエリに含まれるテーブルの相対的なサイズに基づいて、適切な結合の種類を選択することが重要です。一般に、TiDB のコストベースのオプティマイザーは、最もパフォーマンスの高い結合タイプを選択します。ただし、場合によっては、より適切な結合タイプを手動で指定する必要があります。
  • 適切なストレージ エンジンを使用します。 OLTP と OLAP のハイブリッド ワークロードには、TiFlash エンジンをお勧めします。詳細については、 HTAP クエリを参照してください。

スキーマ設計

SQL パフォーマンスのチューニングの後、アプリケーションがまだ良好なパフォーマンスを得られない場合は、次の問題を回避するために、スキーマの設計とデータ アクセス パターンを確認する必要がある場合があります。

こちらもご覧ください