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

Pomalý dotaz v Javě pomocí JDBC, ale ne v jiných systémech (TOAD)

bez dalších informací můžeme pouze předpokládat, že se nepoužívá index s funkcí to_number() aplikovanou na sloupec. Jak je uvedeno v tato otázka SO , může konverze typu zabránit optimalizátoru v použití indexu.

Obecně:

  • když přidáte funkci do sloupce (i-e:to_number(id) ) optimalizátor nebude moci použít běžné indexy v tomto sloupci,
  • je-li to možné, měli byste použít sloupec raw. Například:místo WHERE trunc(col) = DATE '2009-08-27' měli byste použít:WHERE col >= DATE '2009-08-27' AND col < DATE '2009-08-28'
  • pokud opravdu musíte použít funkci na sloupec, můžete použít index založený na funkcích


  1. Jak omezit hodnotu sloupce v SQLite / MySQL

  2. Je použití select * pro kurzor v PL/SQL považováno za špatné programování?

  3. Připojování k Mysql na AWS Elastic Beanstalk

  4. SQL DROP COLUMN pro začátečníky