were dt=? and (x=? or y=? or z=?) ?
Ну только скип индекс
order by dt, a,b,c + скип индексы на b,c где а это колонка которая чаще всего будет совпадать/давать результат поиска надо в данные смотреть и пробовать с разными сортировками/гранулярностями. если селективность прям очень низкая, а колонок много и есть уникальный ключ то можно order by dt, pk, a,b,c + сделать 3 раза prewhere по колонкам и union / select sekect col1,col2,col.... from tbl where (dt, pk) IN (select pk from tbl prewhere x=xval where dt=xxxx UNION ALL select pk from tbl prewhere y=yval where dt=xxxx UNION ALL select pk from tbl prewhere z=zval where dt=xxxx)
Обсуждают сегодня