添加索引(db_index = True)

时间:2013-02-09 08:47:29

标签: django django-models django-database

我正在读一本关于Django编码风格的书,他们讨论的一件事是db_index=True。自从我开始使用Django以来,我从未使用过这个函数,因为我不确定它是做什么的。

所以我的问题是,何时考虑添加索引?

1 个答案:

答案 0 :(得分:105)

这不是特定的django;更多与数据库有关。如果要加快对该列的搜索,可以在列上添加索引。

通常,只有主键由数据库编制索引。这意味着优化使用主键的查找。

如果在辅助列上进行大量查找,请考虑在该列中添加索引以加快速度。

请记住,与大多数规模问题一样,这些仅适用于统计上有大量行数(10,000不大)的情况。

此外,每次执行插入操作时,都需要更新索引。因此,请注意添加索引的列。

与往常一样,您只能优化可测量的内容 - 因此请使用EXPLAIN语句和数据库日志(尤其是任何慢速查询日志)来找出索引可能有用的位置。