0

私はこの Java webapp (JSP+Struts+Hibernate+MySQL+tomcat6) を手に入れました。現在 20000 人のユーザーがおり、その数は急速に増えています。すべてのユーザーを定期的にランク付けする必要があります。ランキング プロセスには、多くのオブジェクトと休止状態のアクションが含まれ、かなりの負荷がかかります。Java について言えば、残念ながら、すべてのユーザーに対して反復処理を行い、この手順を 1 つずつ適用する必要があります。この方法は、サーバーのリソースを大量に消費します。

一方、これらすべてのアクションを MySQL 側のストアド プロシージャで実行できる可能性があります。コードが完全に混乱し、後で変更するのが面倒になると確信しています。パフォーマンスはこの方法ではるかに向上しますが、ソフトウェア エンジニアリングの原則はこのソリューションをうまく採用しません。

何を指示してるんですか?

4

1 に答える 1

1

これは、SQL では明らかにはるかに効率的です。本当の問題は、休止状態を使用しているため、スキーマを制御できなくなっていることです。そのため、あまり普及していませんが、iBatis のようなソリューションがより理にかなっています。仕事。

休止状態を選択した場合、それが提供する API をプッシュしてこれを実行できないと確信していますか? クライテリア API を詳しく調べましたか? これには関連付けが含まれます。必要なものをそこに押し込んで、ロジックをクラスとより密接に関連付けることができる場合があります。 http://docs.jboss.org/hibernate/stable/core/reference/en-US/html/querycriteria.html

于 2011-08-07T09:30:40.160 に答える