Soalan pertanyaan asal:
Menentukan sama ada nilai tertentu wujud dalam tatasusunan PostgreSQL ialah keperluan pertanyaan biasa. Walau bagaimanapun, mencari penyelesaian yang mudah selalunya memberikan cabaran.
Kaedah sedia ada:
Satu cara yang dicadangkan ialah menggunakan:
select '{1,2,3}'::int[] @> (ARRAY[]::int[] || value_variable::int)
Satu lagi versi ringkas ialah:
select '{1,2,3}'::int[] @> ARRAY[value_variable::int]
Gunakan SEBARANG penyelesaian pengoptimuman:
Cara yang lebih mudah ialah menggunakan operator SEBARANG:
SELECT value_variable = ANY ('{1,2,3}'::int[])
KELEBIHAN MANA-MANA:
Operan kananSEBARANG boleh mengendalikan kedua-dua set dan tatasusunan, menjadikannya sangat serba boleh. Selain itu, ia menyokong pengindeksan GIN atau GiST untuk operator tatasusunan, dan pengindeksan B-tree untuk perbandingan elemen.
Nota:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Semak Kewujudan Elemen dengan Cekap dalam Array PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!