このクエリが同時に実行されないことに気付きました:
SELECT COUNT(*) FROM mytable WHERE ARRAY[1,2]::integer[] && array_col::integer[];
1 つの同時クエリの実行には 120 秒かかります 2 つの同時クエリの実行には 240 秒かかります 3 つの同時クエリのクエリの実行には 360 秒かかります
テーブルは 32mil のレコードでかなり大きいです。サーバーには、pgtune 設定を使用して 32 コアと 230 GB のメモリがあります。topによると、iowaitはありません。
これらの各インデックスを個別に使用したところ、同様の結果が得られました。
CREATE INDEX mytable_gist ON mytable USING GIST(array_col gist__intbig_ops);
CREATE INDEX mytable_gin ON mytable USING GIN(array_col gin__int_ops);
私は今 EXPLAIN ANALYZE を実行していますが、これには永遠に時間がかかります。