sql >> Database >  >> RDS >> Oracle

Oracle SQL:meer dan 1000 items in een IN-clausule gebruiken?

De aanbevolen manier om dit in Oracle af te handelen, is door een tijdelijke tabel te maken, de waarden hierin te schrijven en vervolgens hieraan deel te nemen. Dynamisch aangemaakte IN . gebruiken clausules betekent dat de query-optimizer een 'harde analyse' van elke query uitvoert.

create global temporary table LOOKUP
(
    ID NUMBER
) on commit delete rows;

-- Do a batch insert from your application to populate this table
insert into lookup(id) values (?)

-- join to it
select foo from bar where code in (select id from lookup)


  1. Bepaal de rijgrootte voor de tabel

  2. De instellingen voor het bewaken van uw databaseprestaties beoordelen

  3. Awesome 24 Concurrent Manager Sollicitatievragen

  4. Hoe date_trunc() werkt in PostgreSQL