Django (1.3) Web アプリケーションの SQL パフォーマンスを分析しようとしています。にアタッチしdjango.db.backends
て設定するカスタム ログ ハンドラーを追加しましたDEBUG = True
。これにより、実行中のすべてのデータベース クエリを確認できます。
ただし、SQL は有効な SQL ではありません。実際のクエリにはselect * from app_model where name = %s
いくつかのパラメーターが渡されていますが (例: "admin"
)、ログ メッセージはパラメーターを引用していないため、SQL はselect * from app_model where name = admin
であり、これは間違っています。これは、 を使用しても発生しdjango.db.connection.queries
ます。私の知る限り、django デバッグ ツールバーには、これを処理するための複雑なカスタム カーソルがあります。
更新Django デバッグ ツールバーを提案する場合: 私はそのツールを認識しています。しかし、それは私が必要とすることをしません。アプリケーションのサンプル インタラクションを実行し、使用されている SQL を集計したいと考えています。DjDT は、表示と浅い学習に最適です。しかし、数十ページの相互作用を集約および要約するにはあまり適していません。
実行されている本物の正当な SQL を取得する簡単な方法はありますか?