example.sql

text/plain

Filename: example.sql
Type: text/plain
Part: 0
Message: Hashed IN only applied to first encountered IN
CREATE TABLE test (col TEXT);
INSERT INTO test select 'testtesttest' FROM generate_series(1, 10000000);
\timing on

SELECT * FROM
  test
WHERE
  col IN ('testtesttesttesa', 'testtesttesttesb', 'testtesttesttesc', 'testtesttesttesd', 'testtesttesttese', 'testtesttesttesf', 'testtesttesttesg', 'testtesttesttesh', 'testtesttesttesi', 'testtesttesttesj', 'testtesttesttesk', 'testtesttesttesl', 'testtesttesttesm', 'testtesttesttesn', 'testtesttestteso', 'testtesttesttesp', 'testtesttesttesq', 'testtesttesttesr', 'testtesttesttess', 'testtesttesttes-', 'testtesttesttesu', 'testtesttesttesv', 'testtesttesttesw', 'testtesttesttesx', 'testtesttesttesy', 'testtesttesttesz', 'testtesttesttes1', 'testtesttesttes2', 'testtesttesttes3', 'testtesttesttes4', 'testtesttesttes5', 'testtesttesttes6', 'testtesttesttes7', 'testtesttesttes8', 'testtesttesttes9', 'testtesttesttes0');

SELECT * FROM
  test
WHERE
  col IN ('testtesttesttesa', 'testtesttesttesb', 'testtesttesttesc', 'testtesttesttesd', 'testtesttesttese', 'testtesttesttesf', 'testtesttesttesg', 'testtesttesttesh', 'testtesttesttesi', 'testtesttesttesj', 'testtesttesttesk', 'testtesttesttesl', 'testtesttesttesm', 'testtesttesttesn', 'testtesttestteso', 'testtesttesttesp', 'testtesttesttesq', 'testtesttesttesr', 'testtesttesttess', 'testtesttesttes-', 'testtesttesttesu', 'testtesttesttesv', 'testtesttesttesw', 'testtesttesttesx', 'testtesttesttesy', 'testtesttesttesz', 'testtesttesttes1', 'testtesttesttes2', 'testtesttesttes3', 'testtesttesttes4', 'testtesttesttes5', 'testtesttesttes6', 'testtesttesttes7', 'testtesttesttes8', 'testtesttesttes9', 'testtesttesttes0')
  OR
  col IN ('testtesttesttesa2', 'testtesttesttesb', 'testtesttesttesc', 'testtesttesttesd', 'testtesttesttese', 'testtesttesttesf', 'testtesttesttesg', 'testtesttesttesh', 'testtesttesttesi', 'testtesttesttesj', 'testtesttesttesk', 'testtesttesttesl', 'testtesttesttesm', 'testtesttesttesn', 'testtesttestteso', 'testtesttesttesp', 'testtesttesttesq', 'testtesttesttesr', 'testtesttesttess', 'testtesttesttes-', 'testtesttesttesu', 'testtesttesttesv', 'testtesttesttesw', 'testtesttesttesx', 'testtesttesttesy', 'testtesttesttesz', 'testtesttesttes1', 'testtesttesttes2', 'testtesttesttes3', 'testtesttesttes4', 'testtesttesttes5', 'testtesttesttes6', 'testtesttesttes7', 'testtesttesttes8', 'testtesttesttes9', 'testtesttesttes0');