1

可能な限り最適化する必要のあるWebサービス(.NET asmx)を計画しています。Webサービスは、クライアントから渡されたパラメーターに従って、データベース(Mysql)から10個のランダムレコード(クライアントからの各呼び出しはランダムである必要があります)を返します。各パラメーター(1〜12)は、DBに最大2000レコードを保持します。

ソリューション:

  1. DB(パラメーターによってインデックスが付けられます)を照会し、結果を返すだけです。
  2. テーブルをDBから.netDatatableにキャッシュし、Linqで選択します(約15,000レコード)。
  3. DBを12個の.netDataTableにキャッシュし、それぞれが可能なパラメーターを取得し、Linqを使用してDatatableにクエリを実行します。

このタスクを実行するための最良の方法は何ですか?他のアイデアも聞きたいです!

よろしく、ウディ

4

1 に答える 1

0

データを12個の強く型付けされた配列にキャッシュします。これにより、単純な配列から10個のランダムレコードを選択する以外のすべての処理が削除されます。それより速くなることはありません。

データテーブルは使用しないでください。なんで?それらは、カスタムクラスの強く型付けされたリスト/配列よりも遅くなる可能性があります。

10個のランダムなアイテムの選択を最適化する方法は別の質問ですが、それは確かにすでに答えられています。

于 2012-10-07T19:21:01.227 に答える