eine Tabelle vor:Oracle - Gekoppelte Spalte in where-Klausel
ID COUNTRY_CODE
1 ab-cd-ef
2 gh-ef
3 cd-ab-pq-xy
Und ich brauche eine SQL-Abfrage, die die Datensätze auswählt, die einen bestimmten Ländercode enthalten. Die traditionellen LIKE
Ansatz funktioniert natürlich:
select ID from TableName where COUNTRY_CODE like '%cd%';
Die Sorge hier ist, diese Abfrage würde Millionen von Datensätzen überfahren, wodurch die Kosten der gesamten Betrieb zu erhöhen. Aufgrund der Kostenprobleme sind verschachtelte Tabellen keine Option.
Hinweis: Die Abfrage kann bei Bedarf mit Java parametrisiert werden.
Gibt es eine kostengünstige Möglichkeit, solche durchsuchbaren Spalten zu behandeln?
Wenn diese Tabelle nicht sehr aktualisiert wird, können Sie eine Materialized View erstellen, um doppelte Datensätze für die COUNTRY_CODEs zu erstellen, die mehr als einen Ländercode haben. Auf diese Weise können Sie vermeiden, die Leistung zu verbessern. – STaefi
@STaefi Die Tabelle enthält Millionen von Datensätzen und die Tabelle wächst ständig. Duplikation ist also keine Option. – HitchHiker