我正在使用PostgreSQL来计算所有数据中变量对的经验概率密度函数。我试图确定在计算PDF之前是否/何时更有效地进行索引。我运行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的成本将能够告诉我是否使索引过于昂贵而无法使用它。
没有EXPLAIN CREATE INDEX
,因为EXPLAIN
仅适用于SELECTs
和DML查询(INSERT/DELETE/UPDATE
)。
您可能正在寻找的是假设的索引。有一个PostgreSQL扩展:https://github.com/dalibo/hypopg