Ursprüngliche Abfragefrage:
Die Feststellung, ob ein bestimmter Wert in einem PostgreSQL-Array vorhanden ist, ist eine häufige Abfrageanforderung. Allerdings stellt die Suche nach einfachen Lösungen oft eine Herausforderung dar.
Bestehende Methoden:
Eine empfohlene Möglichkeit ist die Verwendung von:
<code class="language-sql">select '{1,2,3}'::int[] @> (ARRAY[]::int[] || value_variable::int)</code>
Eine weitere vereinfachte Version ist:
<code class="language-sql">select '{1,2,3}'::int[] @> ARRAY[value_variable::int]</code>
Verwenden Sie JEDE Optimierungslösung:
Ein einfacherer Weg ist die Verwendung des ANY-Operators:
<code class="language-sql">SELECT value_variable = ANY ('{1,2,3}'::int[])</code>
ANYs Vorteile:
Der rechte Operand vonANY kann sowohl Mengen als auch Arrays verarbeiten, was ihn äußerst vielseitig macht. Darüber hinaus unterstützt es die GIN- oder GiST-Indizierung für Array-Operatoren und die B-Tree-Indizierung für Elementvergleiche.
Hinweis:
Das obige ist der detaillierte Inhalt vonWie kann ich das Vorhandensein von Elementen in PostgreSQL-Arrays effizient prüfen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!