如何提高django管理站点数据库可视化数据的性能?

时间:2011-05-27 18:35:55

标签: python mysql django performance django-admin

这是我与django的第一步,所以如果这看起来微不足道,请不要冒犯。

我有一个非常庞大的表mynames(约1 000 000个),我想在django管理站点中编辑此表。我把官方的django书中所描述的东西搞定了:我有一个模型,我在admin.site.register(mymodel)注册了它。我可以在我的管理网站上看到“表格”,我可以点击它查看第一页的全部名称。到目前为止,这很好。只要我点击页面底部的“显示下一页按钮”,查询就会永远占用。

问题出在哪里?

更新

我在相关列中添加了索引,现在速度很快。我想做了

name = models.CharField(max_length=100, db_index=True, unique=True)

在模型定义中,该列将有一个索引。但没有。只有唯一索引。这是应该的样子还是我错过了什么?

1 个答案:

答案 0 :(得分:0)

如果粘贴完整的模型类,会更容易看出问题所在。桌子上有指定的顺序吗?如果是这样,您需要创建相应的索引以快速对该字段进行分页。是否在模型的ModelAdmin类上设置了list_display属性?默认情况下,django应该根据主键对行进行排序,因此您不需要额外的索引。还要检查是否在django admins表中显示实体时导致其他数据库查找的方式覆盖了模型的__unicode__方法?