5

Django 1.4 で実行されている CMS があり、データベースは Postgresql 9.1 です。CMS に多くのコンテンツがあり、現在直面している問題は、Django 管理者の検索で結果を取得するのに時間がかかることです。Django Admin 検索のこの動作を最適化するオプションがあるかどうかを知りたいです。Django は Postgresql で LIKE クエリを使用してルックアップを行うことを知っています。Postgresql 9.1 には、Django のこの動作を高速化するのに役立つ GIN および GIST インデックスがあることを知っています。この検索動作を変更して高速化し、検索結果の質を少し下げることもできます。Django のこの検索動作を最適化するための最適なアプローチを知りたいですか?

4

2 に答える 2

3

Django デバッグ ツールバーを使用して、どの 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 に答える