Luk*_*pan 7 mysql sql django postgresql
在使用index_together Meta属性定义模型时,列的顺序是否重要?
换句话说,两者之间是否存在差异
Class myModel(models.Model):
    name = models.CharField(max_length=100)
    address = models.CharField(max_length=100)
    favorite_color = models.CharField(max_length=20)
    class Meta:
        index_together = ('name', 'address', 'favorite_color')
VS
Class myModel(models.Model):
    name = models.CharField(max_length=100)
    address = models.CharField(max_length=100)
    favorite_color = models.CharField(max_length=20)
    class Meta:
        index_together = ('favorite_color', 'name', 'address')
我只是问,因为我注意到在查看表的结构时,键中的每一列都有一个"key in key"属性.MySQL/PostgreSQL是否希望按顺序查询列?
除此之外,将列一起索引与单独索引之间是否存在很大差异?
index_together的顺序解释了创建索引的"路径".您可以从左向右查询以从索引中获利.
你的第一个index_together:
    index_together = ('name', 'address', 'favorite_color')
如果您的第一个过滤器是name使用索引.如果第一个是name,第二个是address索引也被使用.
但是如果你过滤address然后name或者address,favorite_color那么索引就无法使用了.
| 归档时间: | 
 | 
| 查看次数: | 2660 次 | 
| 最近记录: |