我正在使用Django 1.7和Postgres 9.4。我想在我的数据库中的VARCHAR列上使用C collation创建索引。
这是因为C-collated索引显然可以更快地进行SELECT... LIKE
查询,并且我注意到这些查询在我的数据库中很慢,即使它们使用varchar_pattern_ops
索引。
从Django模型文件中,是否可以指定特定索引应该使用C排序规则? documentation doesn't mention this,所以我假设没有。
如果我在Postgres中手动创建索引并指定C归类,那么我可以继续使用带有startswith
查询的Django ORM并使用索引吗?换句话说,来自Django的这些查询会自动指定C校对,还是会继续请求UTF-8校对,从而绕过索引?
也许我可以通过指定整个数据库应该使用C排序来解决这个问题,但我不确定。任何意见,将不胜感激。