状況は次のとおりです。
最初にクエリを実行して、存在するレコードの数を知る必要があります。
例えば:
SELECT COUNT(DISTINCT userid) from users;
多くの場合、必要なのはこれだけです。ただし、場合によっては (たとえば 30% の確率で) 最初のクエリに続いて、レコードの詳細を示す 2 番目のクエリを実行したい場合があります。
例えば:
SELECT * FROM users;
SELECT COUNT
ただの代わりに最初に実行する理由はありますSELECT
か? つまり、実際にレコードをプルバックするよりも、SQL でレコードのカウントを行う方が速いのでしょうか? それとも、どちらの方法でも本質的に同じ作業を行っているので、2 つのクエリを実行することは避けるべきですか?
言い換えれば、常に最初のクエリでレコードを取得し ( を使用しないCOUNT
)、コードでレコードをカウントする (Java) 方が良いでしょうか。ユーザーが 2 番目のクエリを実行したい場合は、データが既にあります。そうでない場合は、ダンプしてください。
ここでのベストプラクティスは何ですか?