Django:在Postgres列上使用C排序规则?

时间:2015-03-19 12:22:14

标签: django postgresql collation

我正在使用Django 1.7和Postgres 9.4。我想在我的数据库中的VARCHAR列上使用C collat​​ion创建索引。

这是因为C-collat​​ed索引显然可以更快地进行SELECT... LIKE查询,并且我注意到这些查询在我的数据库中很慢,即使它们使用varchar_pattern_ops索引。

从Django模型文件中,是否可以指定特定索引应该使用C排序规则? documentation doesn't mention this,所以我假设没有。

如果我在Postgres中手动创建索引并指定C归类,那么我可以继续使用带有startswith查询的Django ORM并使用索引吗?换句话说,来自Django的这些查询会自动指定C校对,还是会继续请求UTF-8校对,从而绕过索引?

也许我可以通过指定整个数据库应该使用C排序来解决这个问题,但我不确定。任何意见,将不胜感激。

0 个答案:

没有答案