PostgreSQLにDjango 1.3アプリケーションと統合された7つのテーブルがあります。異なるカラムデータを持つすべてのテーブルに存在する名前に基づいてアクセスする7つのテーブルのうち、私の問題は、テーブル内の特定の名前データに属するすべての行を取得する必要があることです。djangoでPostgres DBクエリの検索効率
私は検索操作のためのdjangoモデルormクエリーセットを実装しました。しかし、効果的ではないようです。ページングを実行しても、すべてのテーブルのすべての列のインデックスを作成しても、 。
はまだ私は nginxの-504ゲートウェイタイムアウトだから、私はあまりにも1,00,000行を介してすべてのテーブルから取得する必要があるクエリを最適化する必要が取得しています。
クエリの最適化を改善する方法は何ですか。
このような挑戦的な操作のために私はどのようにdjangoにアプローチしますか?ここで
私は私に正しい方向を示唆してくださいhttp://pastebin.com/yNy5pxGG
私のコードを貼り付け!
EDIT1:
マイクエリ: http://pastebin.com/A9B2ExVk
TABLES:これらは私の個々のテーブルと行counts.hereある私はLEFTがにすべてのJOINの
fda_sheet1 = 208778 unique rows
fda_sheet2 = 291958 unique rows
fda_sheet3 = 191958 unique rows
fda_sheet4 = 676363 uniq rows
fda_sheet5 = 262651
fda_sheet6 = 742707
fda_sheet7 = 300000
を作っていますパフォーマンスのために1つのテーブルを作成します。
テーブルのサイズが700GBを超えているため、これもうまくいきません。
クエリを処理する方法は何ですか?
NOTES:
これらのテーブルはdata.Mainlyの様々なレベルが含まれている私たちはISRが何我々はISRをフェッチする薬剤上の他のすべてのtables.Basedに存在することになる何.Also薬剤名およびISRを持っていませんいいえ、またISRを使用しないでください。他のテーブルの他のデータを照会します。あなたがボトルネック
ので、テーブルを組み合わせる1.に理解してほしいことは、各テーブルの複数の行が同じISRなしているので、複数のテーブル間の問題を700ギガバイト
2.Queryingを横断するので、問題です。
あなたは他の最良の方法をお考えですか?
してください、あなたは私がこの問題を解決するために私達を提案
plzは知っている疑問を持っている場合。
クエリプランナーの出力で低速SQLクエリの1つを投稿できますか? –
@TommasoBarbugli私はクエリプランナーアルゴリズムまたはプレーンな生のSQLクエリを使用する必要がありますか? – Nava
@サラバナ:私は他の誰も知らないが、SQLとSQLのEXPLAIN ANALYZEからの出力を見ることができれば、私は最も有益だろう。 – kgrittn