- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
使用 index_together 元属性定义模型时,列的顺序重要吗?
换句话说,两者之间有区别吗
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')
对比
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')
我之所以这么问,是因为我在查看表的结构时注意到,键中的每一列都有一个“键中的索引”属性。 MySQL/PostgreSQL 是否期望按该顺序查询列?
顺便说一句,将列一起索引与单独索引之间有很大区别吗?
最佳答案
index_together 的顺序解释了创建索引的“路径”。您可以从左到右查询以从索引中获益。
因此,对于您的第一个 index_together
:
index_together = ('name', 'address', 'favorite_color')
如果您的第一个过滤器是 name
,则使用索引。如果第一个是 name
,第二个是 address
,则也使用索引。
但是如果你按address
过滤,然后是name
或address
,favorite_color
索引不能用过的。
关于mysql - index_together 的顺序在 Django 模型中是否重要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21753699/
我正在处理一个使用 django 1.4 的遗留 django 项目。对于一个新模型,我尝试添加一个多字段索引: class Meta: index_together = [
使用 index_together 元属性定义模型时,列的顺序重要吗? 换句话说,两者之间有区别吗 Class myModel(models.Model): name = models.Cha
Django 1.11 提供了创建数据库索引的新方法。到目前为止,我们在每个字段中都有 db_index=True: # example 1 class Person(models.Model):
我在为我的查询建立正确的索引时遇到了问题。 我有一个这样的模型: from django.db import models class Record(models.Model): user
我是一名优秀的程序员,十分优秀!