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

句間の変換から結合への変換

    範囲スキャンとbetweenについて聞いたこと MySQLでは単に真実ではありません。これは、ドキュメント からの引用です。 :

    したがって、インデックスの使用は驚くべきことではありません。このデータに最適なインデックスは、start, endの複合インデックスです。 。

    あなたが持っている問題はあなたが2つの列startを持っているということです およびend 。これにより、クエリが少し複雑になります。

    startにインデックスを付けると、状況によっては次のパフォーマンスが向上する可能性があります。 endの個別のインデックス 行の主キー:

    select gt.*
    from (SELECT * FROM autumn4.ip WHERE :number >= start) gt join 
         (SELECT * FROM autumn4.ip WHERE :number <= end) lt
         on gt.PRIMARYKEY = lt.PRIMARYKEY;
    


    1. クエリのようなmysqlは数字を除外します

    2. 接続文字列でサービス名の代わりにSIDを使用すると、cx_Oracleが接続しません

    3. MySQLデータベースのパフォーマンスを提供するためのヒント-パート2-

    4. 文字列をコンマで結合するためのOracle集計、およびカスタム集計の記述について