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

Konwersja między klauzulą ​​na złączenia

Co słyszałeś o skanowaniu zakresów i between w MySQL jest po prostu nieprawdą. Oto cytat z dokumentacji :

Tak więc użycie indeksu nie jest zaskakujące. Najlepszym indeksem dla tych danych byłby indeks złożony na start, end .

Problem, który masz, polega na tym, że masz dwie kolumny start i end . To sprawia, że ​​zapytanie jest nieco bardziej skomplikowane.

W pewnych okolicznościach poniższe może działać lepiej w pewnych okolicznościach, z indeksem na start i osobny indeks na end i klucz podstawowy w wierszach:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jak wywołać funkcję w funkcji plsql

  2. Zabranie rekordu z maksymalną datą

  3. Nie można załadować pliku lub zestawu „Oracle.DataAccess” 64-bitowy ODP.NET

  4. Jak znaleźć czas wykonania zapytania w Oracle SQL Developer?

  5. JdbcPagingItemReader w partiach Spring nie daje poprawnych wyników