本記事では、OceanBaseデータベースのSQL作成におけるテーブルスキャンの規範について説明します。
OceanBaseデータベースのSQL作成において、SELECT、UPDATE、DELETE、REPLACE文でWHERE句を使用する場合、その句の条件はインデックスを通じて検索されなければなりません。EXPLAINコマンドを使用して実行計画を確認し、インデックスクエリが使用されているかどうかを確認できます。
大規模テーブルの全表スキャンは可能な限り避けてください。一般的に、大規模テーブルのほとんどのクエリでは、インデックススキャンの方が全表スキャンよりも優れていますが、100行以下の静的テーブルでは全表スキャンが可能です。
EXPLAIN<sql_statement>を使用してSQL文の実行計画を確認します。実行計画コマンドには3つのモードがあります:EXPLAIN BASICコマンドは、最も基本的な計画表示に使用されます。EXPLAIN EXTENDEDコマンドは、最も詳細な計画表示に使用されます(通常、問題のトラブルシューティング時にこの表示モードを使用します)。コマンドで表示される情報は、一般ユーザーが計画全体の実行方法を理解するのに役立ちます。
業務上、大規模テーブルの全表スキャンや全表ダンプ(dump)は、バックアップデータベースまたはオフラインでのデータ読み取り処理で行うことを推奨します。
句内で完全あいまい検索または左端あいまい検索のLIKE条件のみを使用した検索は禁止されており、他の検索条件が必要です。
WHERE句内のインデックス列または組み合わせインデックスの先導列には関数を使用できません。