Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

làm cho trình tối ưu hóa sử dụng tất cả các cột của một chỉ mục

chúng tôi thực sự đã tìm ra nguyên nhân của vấn đề này. Chúng tôi đang sử dụng JPA / JDBC và các loại ngày JDBC không được lập mô hình chính xác. Trong khi kiểu ngày oracle có độ chính xác thứ hai, ai đó (giờ tôi ghét anh ta) đã tạo thuộc tính "day" trong thực thể của chúng ta kiểu java.sql.Timestamp (mặc dù nó chỉ là ngày mà không có thời gian). để ép kiểu (sử dụng một hàm trên) mỗi mục nhập trong bảng để biến nó thành Dấu thời gian trước khi nó có thể so sánh với tham số truy vấn Dấu thời gian. Bằng cách đó, chỉ mục không thể được sử dụng đúng cách.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tìm nạp mảng pl / sql (dưới dạng tham số)

  2. Nối giá trị cột thứ hai nếu giá trị cột đầu tiên giống nhau

  3. Làm thế nào để chỉ liệt kê các bảng tôi đã tạo trong Oracle SQL?

  4. Sự cố kết nối gián đoạn Oracle JDBC

  5. REGEXP_REPLACE - CHỈ xóa dấu phẩy khỏi chuỗi nếu được đặt trong () 's