2015-12-02 3 views
1

Я использую PostgreSQL для вычисления эмпирических функций плотности вероятности для пар переменных по всем моим данным. Я пытаюсь определить, если/когда он более эффективен для индексации перед вычислением PDF. Я бегу EXPLAIN CREATE INDEX, как,PostgreSQL Вероятности: EXPLAIN на CREATE INDEX

EXPLAIN CREATE INDEX AB ON xrootd ("F.mName", "F.mOpenTime"); 
CREATE INDEX AB ON xrootd ("F.mName", "F.mOpenTime"); 

Но PSQL жалуется,

psql:sql/stats.sql:3: ERROR: syntax error at or near "INDEX" 
LINE 2: EXPLAIN CREATE INDEX AB ON xrootd ("F.mName", "F.mOpenTime")... 

Есть ли лучший способ сделать все, что я пытаюсь сделать? По крайней мере, я хотел бы знать, полезно ли создание индексов. У меня много переменных и много данных, поэтому ускорить это очень важно.

Проверка стоимости CREATE INDEX могла бы рассказать мне, если индекс слишком дорогой для увеличения его использования.

+1

Странный вопрос. ИМХО нет способа оценить стоимость * создания * индекса. Однако есть возможность определить стоимость запроса с индексом/без него. [и, как правило, модель данных считается более или менее статической, поэтому это будет больше похоже на проблему с дизайном] – wildplasser

+0

Я использую SQL для таких вещей (меньшие данные в прошлом), потому что я не нашел ничего быстрее, чем SQL для подсчета и группировки. Эти данные просто неприятны и имеют массу переменных –

ответ

1

Там нет EXPLAIN CREATE INDEX, поскольку EXPLAIN работает только для SELECTs и DML запросов (INSERT/DELETE/UPDATE).

То, что вы, вероятно, ищете, называется гипотетическим индексом. Для этого есть расширение PostgreSQL: https://github.com/dalibo/hypopg

Смежные вопросы