1

〜90000行の非常に大きなテーブルがあり、各行には10列が含まれています..データベースからデータを取得する必要があります..最悪の場合、7500行をクエリする必要がありますが、多くの場合、約4000行..

各行には「LineNumber」という列があり、各 ~10 行には 1 から始まる同じ LineNumber があり
ます。評価..

これらの〜4000行をすべて取得し、それらの行のそれぞれを渡し、いくつかのロジックを実行して最高または最低を取得
できます..または、興味のある各LineNumberをクエリして、クエリで最高を取得することができますと最低、どちらが簡単になります..

この2つの方法のうち、どちらがより効率的ですか?

4

2 に答える 2

1

私はクエリの略です。一見すると、クエリは非常に単純に見えます。

SELECT LineNumber MIN(RATING) MAX(RATING) FROM <YOUR_TABLE> WHERE... GROUP BY LineNumber

これはあなたが望むものを正確に与えるはずです(私が正しく理解していれば)

于 2012-09-11T11:16:17.290 に答える
1

私はあなたのような問題を抱えていましたが、私の場合は日付で「後」と「前」を取得していました...

私はコードで行い、必要なすべてのデータを照会し、日付を比較しました。時間は約 40,000 行で、20 秒近くでした...

だから私はSQLにロジックを入れようとしました.クエリを取得したら比較を行います.驚いたことに、クエリは2秒以内にすべてを行う必要があります...

私のアドバイスは、最初にロジックをクエリに入れてみることです。満足のいく結果が得られない場合は、コードを試して、何が最善かを確認してください。

幸運を!

[]のベルタン

于 2012-09-11T11:19:51.440 に答える