我在Django 1.4上运行CMS,数据库是Postgresql 9.1。我在CMS中有很多内容,我现在面临的问题是Django Admin搜索需要永远检索结果。我想知道是否有选项可以优化Django Admin搜索的这种行为。我知道Django在Postgresql上使用LIKE查询进行查找。我知道Postgresql 9.1有GIN和GIST索引可以帮助加速Django的这种行为。我还可以修改此搜索行为,使其快速,并在搜索结果的质量上稍作妥协。我想知道优化Django搜索行为的最佳方法吗?
答案 0 :(得分:3)
您可能希望使用Django Debug toolbar来检查哪些SQL查询实际上很慢。
我们发现Django admin's implicit use of UPPER
导致Postgres忽略了所有现有指数。如果这是问题,您可以在数据的大写表示上创建索引。
答案 1 :(得分:2)
如果您不想更改Django,请对搜索查询进行概要分析并添加适当的GIN和GIST索引。否则,您可能希望集成像Haystack这样的东西来加快搜索速度,而不会占用您的数据库。
有用的链接
http://www.rossp.org/blog/2009/jan/28/django-postgresql-fulltext/