Effektive SQL-Anweisungen in Oracle Responsys schreiben

  • Wenn in einer Abfrage UND (AND) verwendet wird (Beispiel: select * from tableName where a=1 AND b=2 AND c=3), müssen Sie die Bedingung mit der höchsten Effizienz (d.h. mit den wenigsten Ergebnissen) ans Ende stellen, die mit der zweithöchsten Effizienz als vorletzte usw.
  • Wenn in einer Abfrage ODER (OR) verwendet wird (Beispiel: select * from tableName where a=1 OR b=2 OR c=3), müssen Sie die Bedingung mit der höchsten Effizienz an den Anfang stellen, die mit der zweithöchsten Effizienz als zweite usw.
  • Wenn Sie ein Feld nach beliebigen Werten außer NULL durchsuchen und für das Feld ein Index mit Oracle Responsys erstellt wurde, verwenden Sie die Funktion upper() in Ihrer Abfrage, um von den Vorteilen des Index zu profitieren. (Oracle Responsys verwendet einen funktionsbasierten Index, in dem der Suchschlüssel mit der Funktion upper() vollständig in Großbuchstaben umgewandelt wird.)

    Beispiel: (Das Feld "E-Mail" ist der Datenextraktionsschlüssel der Tabelle und wird deshalb automatisch indiziert.)

    select * from table where upper(Email)='JOHN.SMITH@XYZ.COM'
    

Verwandte Themen