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

パフォーマンス:サブクエリまたは結合

    Oracleを含む最新のRDBMは、ほとんどの結合とサブクエリを同じ実行プランに最適化します。

    したがって、私は先に進んで、最も簡単な方法でクエリを記述し、インデックスが完全に最適化されていることを確認することに重点を置きます。

    最終的なクエリとデータベーススキーマを提供すると、潜在的なロックの問題に関する情報など、詳細な提案を提供できる場合があります。

    編集

    クエリに適用される一般的なヒントは次のとおりです。

    • 結合の場合、結合する列にインデックスがあることを確認してください。必ず両方のテーブルの結合された列にインデックスを適用してください。一方向のインデックスのみが必要だと思うかもしれませんが、データベースが反対方向に結合する方が良いと判断することがあるため、両方のインデックスを作成する必要があります。
    • WHERE句の場合、WHEREに記載されている列にインデックスがあることを確認してください。
    • 多くの行を挿入するには、それらすべてを1つのクエリに挿入できるのが最善です。
    • クラスター化インデックスを使用してテーブルに挿入するには、クラスター化インデックスの増分値を使用して挿入し、新しい行がデータの最後に追加されるようにするのが最適です。これにより、インデックスの再構築が回避され、多くの場合、既存の行に対するSELECTクエリの速度が低下する既存のレコードのロックが回避されます。基本的に、挿入物はシステムの他のユーザーにとって苦痛が少なくなります。


    1. MySQLのvarcharの最大範囲はどれくらいですか?

    2. 入れ子集合モデルのPHPライブラリ

    3. データベースの問題に挿入...(不正な文字コーディング)PHP / MYSQL

    4. PHPでPDOを使用してストアドプロシージャを作成する