5

我有一个在 Django 1.4 上运行的 CMS,数据库是 Postgresql 9.1。我在 CMS 中有很多内容,而我现在面临的问题是 Django Admin 搜索需要很长时间才能检索到结果。我想知道是否有优化 Django Admin 搜索行为的选项。我知道 Django 在 Postgresql 上使用 LIKE 查询进行查找。我知道 Postgresql 9.1 有 GIN 和 GIST 索引,可以帮助加快 Django 的这种行为。我还可以修改此搜索行为以使其更快,并在搜索结果的质量上有所妥协。我想知道优化 Django 搜索行为的最佳方法?

4

2 回答 2

3

您可能想使用Django Debug 工具栏来检查哪些 SQL 查询实际上很慢。

我们发现Django 管理员隐式使用UPPER导致 Postgres 忽略所有现有索引。如果这是问题所在,您可以在数据的大写表示上创建索引。

于 2013-05-24T10:07:03.780 回答
2

如果您不想更改 Django,请分析搜索查询并添加适当的 GIN 和 GIST 索引。否则,您可能希望考虑集成诸如 Haystack 之类的东西,以加快搜索速度,并且不会占用您的数据库。

有用的网址

http://www.rossp.org/blog/2009/jan/28/django-postgresql-fulltext/

于 2013-01-31T13:31:18.103 回答