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

オプティマイザにインデックスのすべての列を使用させる

    私たちは実際にこの問題の原因を見つけました。 JPA / JDBCを使用していますが、JDBCの日付タイプが正しくモデル化されていませんでした。 Oracleの日付型は2番目の精度ですが、誰か(私は今彼が嫌いです)がjava.sql.Timestamp型のエンティティで「day」属性を作成しました(ただし、時間のない日だけです)。その結果、Oracleは必要になります。テーブルの各エントリをキャスト(関数を使用)して、タイムスタンプクエリパラメータと比較する前にタイムスタンプにします。そうすると、インデックスを適切に使用できなくなります。




    1. NoneまたはNullの場合、クエリからオブジェクトを削除します

    2. SQLiteのバージョンを確認してください

    3. [テンプレート]、[エンコーディング]、[所有者]のバッチファイルと.sqlファイルを使用してPostgresデータベースを作成します

    4. MySQL EntityFramework4.0ストアドプロシージャのフィールドマッピング