sql >> Databáze >  >> RDS >> Oracle

Převod mezi klauzulí na spojení

Co jste slyšeli o skenování rozsahu a between v MySQL to prostě není pravda. Zde je citát z dokumentace :

Použití indexu tedy není překvapivé. Nejlepší index pro tato data by byl složený index na start, end .

Problém, který máte, je, že máte dva sloupce start a end . Tím je dotaz o něco složitější.

Následující by za určitých okolností mohly fungovat lépe, s indexem na start a samostatný index na end a primární klíč na řádcích:

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. Některé JAKÉKOLI Agregované transformace jsou rozbité

  2. Mysql - připojení ke vzdálenému serveru pomocí IP adresy

  3. Vyhněte se častému volání stejného zobrazení uvnitř procedury Oracle

  4. Jak používat AI pro ladění SQL pro skutečný automatizovaný proces