为a到z字符的小写创建索引

时间:2015-06-05 03:41:05

标签: sql postgresql indexing

我有一个数据库列,允许我们存储小写a到z字符和' Space'。我们如何使用更具体的表达式创建索引。

我们需要这个特定的指数来改善'条款履行问题。

这里的性能问题是,当我们按照'对于大量的表列,它会产生问题。如果按列的顺序是日期或整数,则它更快但不适用于varchar类型列。

我们希望通过向varchar列添加特定索引或进行其他决策来加快查询速度

1 个答案:

答案 0 :(得分:0)

首先,我建议您查看此页面:http://www.postgresql.org/docs/9.4/static/indexes-expressional.html

第二,是字段上的顺序还是表达式?我的意思是,如果您的订单是:

ORDER BY col1

你只需索引如下:

CREATE INDEX idx_table_col1 ON yourtable (col1);

如果你的ORDER BY是:

ORDER BY lower(col1)

然后:

CREATE INDEX idx_lower_col1_table ON yourtable (lower(col1));

无论如何,为了改善你的问题,我建议:

  • 显示您的查询
  • 使用EXPLAIN ANALYZE
  • 显示已执行的执行计划
  • 显示您的表格和索引