Oracle
 sql >> Baza danych >  >> RDS >> Oracle

spraw, aby optymalizator używał wszystkich kolumn indeksu

faktycznie znaleźliśmy przyczynę tego problemu. Używamy JPA/JDBC i typy dat JDBC nie zostały poprawnie zamodelowane. Podczas gdy typ daty oracle jest z drugą precyzją, ktoś (teraz go nienawidzę) umieścił atrybut „dzień” w naszej encji typu java.sql.Timestamp (chociaż jest to tylko dzień bez czasu). Efekt jest taki, że Oracle będzie potrzebować do rzutowania (użycia funkcji on) każdego wpisu w tabeli, aby uczynić go znacznikiem czasu, zanim będzie mógł zostać porównany z parametrem zapytania znacznika czasu. W ten sposób indeks nie może być używany prawidłowo.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. wyzwalacz, jeśli jeszcze

  2. Uśrednianie listy TIMESTAMP(6) WITH TIME STREFA razy

  3. Jak mogę znaleźć, które tabele odwołują się do danej tabeli w Oracle SQL Developer?

  4. Obliczanie wieku Oracle od daty urodzenia do dnia dzisiejszego

  5. Nie można zaktualizować modelu danych jednostki z bazy danych z powodu błędu TNS