是否有必要在Django模型元中添加与`ordering`相同的`index_together`?

时间:2017-02-13 10:27:47

标签: python django django-models

Django会通过添加union index来巧妙地处理ordering吗?像:

from django.db import models

class Musician(models.Model):
    first_name = models.CharField(max_length=50)
    last_name = models.CharField(max_length=50)
    instrument = models.CharField(max_length=100)

    class Meta:
        ordering = ['first_name', 'last_name', 'instrument']
        index_together = ['first_name', 'last_name', 'instrument']

是否有最后一行index_togeter声明的性能差异?

1 个答案:

答案 0 :(得分:0)

是。 Django本身并没有这样做。因为每个字段或一个多列索引可以有单独的索引。如果您尝试仅按last_nameinstrument订购,那么您的多列索引将无法使用。因此,您需要指定所需的索引。