sql >> Databasteknik >  >> RDS >> Oracle

hur man lägger till mer än 1000 värden med NOT IN-satsen

Du sa att du inte vill, men:använd ett tillfälligt bord. Det är den korrekta lösningen här.

Frågeanalys är dyrt i Oracle, och det är vad du kommer att få när du lägger tusentals identifierare i en gigantisk klick SQL. Det finns också illa definierade gränser på frågelängden som du kommer att träffa. Att göra en anti-JOIN mot ett bord, å andra sidan... Oracle är bra på det. Massladdar data till en tabell, Oracle är bra på det också. Använd en temptabell.

Begränsande IN till tusen poster är en förnuftskontroll. Det faktum att du slår den betyder att du försöker göra något galet.



  1. Lagra filer i databas kontra filsystem

  2. Använda flera fönsterfunktioner på samma partition

  3. SQL:Upprepa en resultatrad flera gånger och numrera raderna

  4. Beräkna procent på föregående månad (samma år)