私はダウンロードしたプログラムを使用していますが、すべての詳細がありません。これはユーザ入力を受け取り、mysqlデータベースに問い合わせるWebアプリケーション(Python CGI)です。私が知っていることは、レコードセットを100個の結果(アプリケーション設定内)に制限すると、結果は2秒以内に返されるということです。しかし、私が限界をわずかに120に上げると、処理に1.5分以上かかります!私はいくつかの異なるクエリで試してみたが、すべてこの問題に苦しんでいる。これは心配です。クエリの実装方法を正確に把握していないと、この問題を緩和する可能性がある一般的なmysql設定がありますか?mysqlはレコードを20%以上返すのに50倍以上時間がかかるのですが、なぜですか?
UPDATEは、より多くのテストの後、私は107は、このパフォーマンスの問題が発生するマジックナンバーであることがわかりました。 107レコード未満のものは即座に返されますが、107以上のものは少なくとも1.5分かかります。
説明を提示してください。 –
すべてのモジュールを掘り下げて(何日もかかるかもしれない)クエリを見つける前に、私はちょうど助けるかもしれないいくつかの一般的なmysql設定がある場合のために、この質問をそこに置くことを望んでいた – PJx
50と150の結果はどうなりますか? DBに費やされた時間は?あなたがDBで直接照会するとどうなりますか?私はちょうどあなたが何らかの種類の指数関数的な地獄にあなたを連れて来るここでCGIスクリプト内のいくつかの奇妙な悪い論理を仮定することができます。 – alvi