2013-01-24 12 views
5

私はDjango 1.4で動作するCMSを持っており、データベースはPostgreSQL 9.1です。私はCMSにたくさんのコンテンツを持っています。私が直面している問題は、Django管理者の検索で結果を永遠に取得することです。私は、Django管理者の検索のこの動作を最適化するオプションがあるかどうかを知りたいと思います。私は、Djangoが検索を行うためにPostgresqlでLIKEクエリを使用することを知っています。私は、PostgreSQL 9.1にGINとGISTのインデックスがあることを知っています。これはDjangoのこの動作を高速化するのに役立ちます。また、この検索動作を変更して検索結果の品質を少しでも損なうことができます。私はDjangoのこの検索動作を最適化する最適な方法を知りたいですか?Django管理者の検索の最適化

答えて

2

Djangoを変更したくない場合は、検索クエリをプロファイルし、適切なGINインデックスとGISTインデックスを追加します。それ以外の場合は、Haystackのようなものを統合して検索をより速く動かすことができます。あなたが実際に遅いであるSQLクエリをチェックするDjango Debug toolbar使用する場合があります

便利なリンク

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

2

Django admin's implicit use of UPPERは、Postgresが既存のインデックスをすべて無視していることがわかりました。これが問題ならば、データの大文字の表記にインデックスを作成することができます。