データベースから100万レコードを取り出してJqGridで表示するサイトがあります。しかし、私がそれをすると、レコードを取得して表示するのに約45〜60分かかります。JqGridで100万レコードを表示
私はJSP、Hibernate、JPA、MySQLデータベースでJqGridを使用しています。
誰も私にこのことを伝える方法を教えてもらえますか?そのため、時間遅延が減少し、レコードがより高速にロードされます。事前
@UPDATE
で
おかげで私の代わりにXMLをJSONを使用してみましたし、時間は30分に短縮されました。
@UPDATE 2
をフロントエンドにデータを渡すために、データベースと残り14分からデータをフェッチするために16分を取っている。この30分後に、私は時間を短縮することが可能であったことにより、いくつかの方法がありますjqgridにデータをロードするために使用されます。
ウェイ1:私は私のクエリにORDER BY句を持っていた私はそれを取り出して、時間が5分に45〜60分から
ウェイ2に減少した:クエリ内の結合の数を削減/削除を。
ウェイ3:HibernateオブジェクトまたはJPAオブジェクトを直接使用する代わりに、結果セットでクエリ結果を直接取得し、その結果セットを使用してjsonオブジェクトを作成します。
1と3の方法を使用すると、200000レコードを1分32秒に読み込む時間が短縮されました。
私はこれに同意します。しかし、私は... 45〜60分を追加したいと思ったのですか?それは狂ったように聞こえる。私は、どのくらいの時間がデータベースを待っているか、どれだけダウンロードを待っているか、どのくらいの解析をしているかを判断しようとします。あなたのデータベースがその時間の大部分を占めているなら、それを最適化する必要があるでしょう。 – dnuttle
@dnuttle、ほとんどの時間がかかりますIMHOは、この膨大な量のデータをHTTPプロトコル経由でクライアントに転送しています。最も重要なのは、ブラウザ内に非常に多くの要素を持つDOMツリーを構築することです。おそらく、 –
ロボットではないすべてのユーザーに100万行を表示することは間違いありません。 – dnuttle