Есть огромная таблица вида (name1 varchar(20), name2 varchar(20), count int, ...).
Нужно делать запросы по типу name1 = 'xxx' or name2 = 'xxx' order by count limit 100. PK (name1, name2), Индексы на `name1+count`., `name2+count`.
Всегда думал, что тут только один вариант:
делать 2 селекта (where name1 = 'xxx', ...) union all (where name2 = 'xxx', ...)
Но посмотрел expain и Or тоже прекрасно и быстро работает. Expain: type = index_merge Using sort_union(name2count_index,PRIMARY); Using where