django的聚集指数

时间:2015-07-10 06:19:13

标签: mysql django database django-models clustered-index

我的模特中有两张桌子:

1)拥有者:

OwnerName

2)汽车

OwnerKey

CarName

CarPrice

这里在Owner表中创建一行时,我还为该所有者Car table添加了Cars。因此,特定所有者的所有汽车都按顺序存储在Car表中。现在,如果我想询问是否应该使用集群索引?一旦保存了特定车主的车辆,则不会为该车主添加任何车辆,也不会删除任何车辆,只需更改价格。我应该怎样做才能加快访问速度?以及如何通过django实现集群索引?

1 个答案:

答案 0 :(得分:1)

您的问题是要求提供需要研究SQL的信息,而不仅仅是Django代码。

如果你只拥有一千名车主和车,那么事情可能会足够快。如果你有一百万所有者或汽车,你需要索引,不一定是“聚集”。

“群集”密钥在MySQL中实现为PRIMARY KEY。每个表只能有一个,其值必须是唯一的。

我是Django,做这样的事情来获得PK:

column1 = models.IntegerField(primary_key = True)

请提供您已有的表格架构。也就是说,超越Django并得到SHOW CREATE TABLE。 (你提供的内容太模糊;因此我的回答太模糊了。)

参考文献:

除了PRIMARY KEY之外,没有“聚集”索引。但是,如果它是“覆盖索引”,则辅助密钥可以具有类似的性能。该术语是指包含SELECT中找到的所有列的索引。 同样,列正确排序。

让我们看一下你的SELECT陈述,以便更好地判断需要什么。