Ich habe eine Oracle-Tabelle, die fast 150k Datensätze und 65 Spalten hat. Es gibt eine Anforderung von meinem Kunden, dass Sie die ganze Tabelle mit einem einzelnen Suchwert durchsuchen müssen und das auch Wildcard-Suche sein kann.Durchsuchen einer Oracle-Tabelle nach einem Wert
Und das Schlimmste ist, dass ich PHP-Sprache verwende, um das zu tun.
Also habe ich eine Abfrage erstellt, die alle 65 Spalten hat, um nach einem einzelnen Zeichenfolgenwert zu suchen.
Beispielabfrage:
SELECT * FROM <TABLE_NAME>
WHERE (col1 || col2 || col3 ... || col65) LIKE '%<SEARCH_VALUE>%'
Die Abfrage wird geben Ausgang für einige Felder und manchmal ist es versagt, wenn wir einige Adresse verwandten Bereichen bestehen.
In einigen Szenarien, insbesondere bei Wildcard-Typ-Suche und wenn es mehr als 1000 Zeilen ausgibt.
Ich habe diese Tests mit PHP Sprache durchgeführt. aber gleichzeitig, wenn ich versuche, die Abfrage mit SQL Developer auszuführen. Es gibt ständig Ergebnisse. Also war ich verwirrt.
Und noch mehr über den Oracle-Server, auf den ich zugreifen möchte, ist ein externer Server, der sich nicht in unserer Umgebung befindet.
Bitte schlagen Sie mir vor, wie Sie diese Funktion oder Idee implementieren und ich schätze Ihre Assistentin sehr.
Wenn Sie keine Platzhalter verwenden, denke ich, dass Sie eine 'WHERE: Suche IN (col1, col2, col3, ..., col65)' tun könnten. Mit Platzhaltern denke ich, dass Sie einen anderen Ansatz benötigen. –