sql >> Databasteknik >  >> RDS >> PostgreSQL

postgres-frågan med IN är mycket långsam

Testa att gå med i en CTE:

with value_list (a,b) as (
  values 
      (a_1, b_1), 
      (a_2, b_2), ..., 
      (a_5000, b_5000) 
)
select *
from table t
  join value_list v on (t.a, t.b) = (v.a, v.b);

(Detta förutsätter att du inte har några dubbletter i värdelistan)




  1. Kaskad kvarstår skapar dubbletter av rader?

  2. Lagrad procedur ökar inkompatibel med sql_mode=only_full_group_by trots att sql_mode är tomt

  3. SQL Välj de vanligaste värdena

  4. mysql select har flera n till n