【发布时间】:2018-09-15 21:22:30
【问题描述】:
如何提高以下查询的性能?
class Worker(models.Model):
name = models.CharField(max_length=32, db_index=True)
# This line is slow:
Worker.objects.filter(name__startswith='John')
我已经为模型添加了一个索引,但是......它根本没有被使用。 然而,当我在没有startswith 的情况下进行普通过滤时,索引确实会启动:
# This line is fast:
Worker.objects.filter(name='John')
为什么startswith 不使用索引?
【问题讨论】:
标签: python sql django postgresql django-orm