Индексирование таблицы для повышения производительности по запросу - PullRequest
2 голосов
/ 04 августа 2011

Какие индексы / индексы вы бы порекомендовали создать в таблице для повышения эффективности следующего типа запроса:

SELECT MAX(val1)
FROM table
WHERE val2 = 'x' OR val3 = 'y'

x и y, конечно, переменные. val2 и val3 почти всегда уникальны, возможны некоторые дубликаты.

1 Ответ

4 голосов
/ 04 августа 2011

имеют индекс на val2 + val1 и другой на val3 + val1 и напишите запрос как:

SELECT MAX(val1)
FROM (SELECT max(val1) FROM table where val2 = 'x'
      UNION ALL
      SELECT max(val1) FROM table val3 = 'y'
     ) dt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...