我有一个运行在Django 1.4上的CMS,数据库是Postgresql 9.1。我在CMS中有很多内容,我现在面临的问题是Django Admin搜索永远需要花费时间才能检索到结果。我想知道是否有选项来优化Django Admin search的这种行为。我知道Django在Postgresql上使用LIKE查询来进行查找。我知道PostgreSQL9.1有GIN和GIST索引,可以帮助加速Django的这一行为。我还可以修改这个搜索行为,使其变得更快,并在搜索结果的质量上做一点妥协。我想知道优化Django这种搜索行为的最优方法是什么?
发布于 2013-05-24 18:07:04
您可能希望使用Django Debug toolbar来检查哪些SQL查询实际上很慢。
我们发现Django admin's implicit use of UPPER导致Postgres忽略了所有现有的索引。如果这就是问题所在,您可以在数据的大写表示形式上创建索引。
发布于 2013-01-31 21:31:18
如果不想更改Django,请分析搜索查询并添加适当的GIN和GIST索引。否则,你可能想要考虑集成一些像Haystack这样的东西来更快地支持搜索,而不会占用你的数据库。
有帮助的链接
http://www.rossp.org/blog/2009/jan/28/django-postgresql-fulltext/
https://stackoverflow.com/questions/14497214
复制相似问题