SET enable_seqscan = off; CREATE TABLE t (val sparsevec(3)); INSERT INTO t (val) VALUES ('{}/3'), ('{1:1,2:2,3:3}/3'), ('{1:1,2:1,3:1}/3'), (NULL); CREATE INDEX ON t USING hnsw (val sparsevec_cosine_ops); INSERT INTO t (val) VALUES ('{1:1,2:2,3:4}/3'); SELECT * FROM t ORDER BY val <=> '{1:3,2:3,3:3}/3'; val ----------------- {1:1,2:1,3:1}/3 {1:1,2:2,3:3}/3 {1:1,2:2,3:4}/3 (3 rows) SELECT COUNT(*) FROM (SELECT * FROM t ORDER BY val <=> '{}/3') t2; count ------- 3 (1 row) SELECT COUNT(*) FROM (SELECT * FROM t ORDER BY val <=> (SELECT NULL::sparsevec)) t2; count ------- 3 (1 row) DROP TABLE t;