複数の列にわたる個別の値のカウント
テーブル内の複数の列に基づいて個別の項目の数をカウントするには、次のクエリを検討します。
SELECT COUNT(DISTINCT DocumentId, DocumentSessionId) FROM DocumentOutputItems
このクエリは、DocumentId と DocumentId の異なる組み合わせを効率的にカウントします。 DocumentSessionId、目的の結果を提供します。
代替アプローチ
提供されたクエリは単純な解決策を提供しますが、代替アプローチは特定のシナリオでパフォーマンスを向上させる可能性があります。
永続化計算の使用列:
パフォーマンスを向上させるために、DocumentId と DocumentSessionId のハッシュまたは連結に基づいて永続化された計算列を作成できます。これにより、データベースは計算列にインデックスを付けて統計を作成できるようになります。
ALTER TABLE DocumentOutputItems ADD ComputedColumn AS HASHBYTES('MD5', DocumentId + DocumentSessionId) PERSISTED
計算列が設定されると、その列の個別のカウントは元のクエリと同等になります:
SELECT COUNT(DISTINCT ComputedColumn) FROM DocumentOutputItems
これらのアプローチでは、データベース構造を最適化し、クエリの数を最小限に抑えることで、複数の列にわたる個別のカウント操作のパフォーマンスを向上させることができます。
以上がデータベーステーブル内の複数の列にわたる異なる組み合わせを効率的にカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。