Ich bin auf der Suche nach einem schnellen SQL-Satz für bestimmen, wenn ein Feld existiert oder nicht in einer Tabelle.Schnelle Möglichkeit zu bestimmen, ob ein Feld in einer ORACLE-Tabelle vorhanden ist
tatsächlich verwende ich diesen Satz
Select 1
from dual
where exists (select 1
from all_tab_columns
where table_name = 'MYTABLE'
and column_name = 'MYCOLUMN')
ich es denke, ein schnellster Weg sein muss, um zu bestimmen, ob eine Spalte in ORACLE existiert.
UPDATE
Ich bin ein größeres Software-System zu optimieren, die mehrere Anrufe auf diese Query macht, kann ich den Quellcode ändern nicht, (kann ich die Abfrage nur ändern, die in einer externen Datei gespeichert wird .
die Tabelle all_tab_columns hat über eine Million Datensätze.
Wenn die Leistung bei dieser Abfrage ein Problem darstellt, scheint es, dass mit Ihrem Datenmodell etwas nicht stimmt. Kannst du erklären, warum du das brauchst? –
Warum benötigen Sie eine schnelle Abfrage dafür? Was ist los mit dem Lesen der Tabelle beschreiben Ausgabe? Oder warum können Sie nicht die DDL lesen, die das Modell erstellt hat? –