sql >> データベース >  >> RDS >> Oracle

Oracleでインデックスが使用されているかどうかを確認する方法

    Oracle SQL Developerでは、ワークシートにSQLがある場合、「プランの説明」ボタンがあり、F10キーを押すこともできます。 Explainプランを実行すると、SQLDeveloperの底面図に表示されます。 「OBJECT_NAME」列があり、どのインデックスが使用されているかがわかります。たとえば、実行したばかりのクエリでは、左側の列(OPERATION)に最初に「SELECTSTATEMENT」、次にSORT(AGGREGATE)、次にINDEX(RANGE SCAN)が表示され、次にOBJECT_NAME列にTICKER_IDX1が表示されます。テーブルのインデックスの名前。

    したがって、OBJECT_NAME列を介して、使用されているインデックスを確認できます。

    Oracle CostBasedOptimizerが次善の実行プランを選択する場合があります。多くの場合、統計を更新することで問題が解決します。他の選択肢は、追加のインデックス、つまり複数列のインデックスを追加することです。 SQLステートメントをヒントにすることはできますが、それが必要になることはめったにありません。また、クエリを書き直すこともできます。



    1. Oracle PL / SQL:スタック・トレース、パッケージ名、およびプロシージャ名を取得する方法

    2. SQLサーバーでmoneyデータ型から変換するにはどうすればよいですか?

    3. レコードがない場合、SELECTSUMは行を返します

    4. SQLLDRによって複数のcsvを1つのテーブルにロードします