sql >> Databasteknik >  >> RDS >> Oracle

Optimering av Oracle-fråga

Prova detta:

SELECT MAX(verification_id)
  FROM VERIFICATION_TABLE
 WHERE head = 687422
   AND mbr = 23102
   AND TRIM(lname) = '.iq bzw'
   AND TRUNCATE(dob) = TO_DATE('08/10/2004')
   AND system_code = 'M';

Ta bort den TRUNCATE() om dob har inte tid på det redan, sett till det (födelsedatum?) kanske det inte. Tidigare behöver du lite indexeringsarbete. Om du frågar så mycket i den här stilen skulle jag indexera mbr och head i ett index med två kolumner, om du sa vad kolumnerna betyder, skulle det hjälpa till att bestämma den bästa indexeringen här.



  1. Hur man byter ut de tre första tecknen i en sträng i oracle

  2. Gapfri sekvens där flera transaktioner med flera tabeller är inblandade

  3. Hur hämtar jag JSON-data från MySQL?

  4. SQL JOIN för att hitta poster som inte har en matchande post med ett specifikt värde