Fiva
Держу ZMH
Меня вот что интересует в данном вопросе:
Использование SELECT count(*) FROM <огромная таблица>
В статье, а так же на конференции было сказано что будет перебираться вся таблица, и как вариант решения предлагалось использовать вспомогательную таблицу. Так вот, как будет вести себя postgre в следующих случаях:
1. SELECT count(*) FROM <огромная таблица> WHERE field>0
где field - автоинкрементное поле - первичный индекс
2. SELECT count(*) FROM <огромная таблица> WHERE field=0 где field - проиндексированное значение, вспомогательное поле, устанавливаемое всегда по дефолту в 0
3. SELECT count(*) FROM <огромная таблица> GROUP BY field
где field - проиндексированное значение, вспомогательное поле, устанавливаемое всегда по дефолту в 0
4. SELECT sum(field) FROM <огромная таблица> GROUP BY field
где field - проиндексированное значение, вспомогательное поле, устанавливаемое всегда по дефолту в 1
я не сильно знаком с семантикой запросов postgre, мне ближе mysql но я думаю общий смысл моего вопроса понятен: будет ли использоваться в данном случае индекс
Использование SELECT count(*) FROM <огромная таблица>
В статье, а так же на конференции было сказано что будет перебираться вся таблица, и как вариант решения предлагалось использовать вспомогательную таблицу. Так вот, как будет вести себя postgre в следующих случаях:
1. SELECT count(*) FROM <огромная таблица> WHERE field>0
где field - автоинкрементное поле - первичный индекс
2. SELECT count(*) FROM <огромная таблица> WHERE field=0 где field - проиндексированное значение, вспомогательное поле, устанавливаемое всегда по дефолту в 0
3. SELECT count(*) FROM <огромная таблица> GROUP BY field
где field - проиндексированное значение, вспомогательное поле, устанавливаемое всегда по дефолту в 0
4. SELECT sum(field) FROM <огромная таблица> GROUP BY field
где field - проиндексированное значение, вспомогательное поле, устанавливаемое всегда по дефолту в 1
я не сильно знаком с семантикой запросов postgre, мне ближе mysql но я думаю общий смысл моего вопроса понятен: будет ли использоваться в данном случае индекс