[解決済み】Count(*)とCount(1)の比較 - SQL Server
質問
ただ、皆さんの中で
Count(1)
オーバー
Count(*)
それとも、過去から引き継がれてきたレガシーな習慣なのでしょうか?
具体的なデータベースは
SQL Server 2005
.
解決方法は?
違いはありません。
理由
書籍のオンライン化 は"と言います。
COUNT ( { [ [ ALL | DISTINCT ] expression ] | * } )
"
1"は非NULLの式なので、次の式と同じです。
COUNT(*)
.
オプティマイザはこれを「つまらないもの」と認識します。
と同じです。
EXISTS (SELECT * ...
または
EXISTS (SELECT 1 ...
例
SELECT COUNT(1) FROM dbo.tab800krows
SELECT COUNT(1),FKID FROM dbo.tab800krows GROUP BY FKID
SELECT COUNT(*) FROM dbo.tab800krows
SELECT COUNT(*),FKID FROM dbo.tab800krows GROUP BY FKID
同じIO、同じプラン、作品
2011年8月編集
2011年12月、編集
COUNT(*)
には具体的に記載されています。
ANSI-92
(" を探します。
Scalar expressions 125
)
ケース
a) COUNT(*)が指定された場合,その結果はTの基数である。
つまり、ANSI規格では、何を言いたいのかが血判状になっていると認識されているのです。
COUNT(1)
は、RDBMS ベンダーによって最適化されています。
というのも
この迷信の そうでなければ、ANSIに従って評価されるはずです。
b) そうでない場合、TXを1列の表とする。 T の各行に <value expression> を適用した結果です。 を削除し、NULL値を排除する。1つ以上のNULL値が除去された場合 を削除した場合、完了条件として警告が発生します。
関連
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] SQL Server で複数行のテキストを 1 つのテキスト文字列に連結する方法
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] SQL ServerにおけるLEFT JOINとLEFT OUTER JOINの比較
-
[解決済み] DISTINCTでCOUNT(*)を選択する
-
[解決済み] SQL Serverでは、MONEYとDECIMAL(x,y)のどちらをデータ型として選択すべきでしょうか?
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
-
[解決済み] SQL ServerでINNER JOINを使用して削除するにはどうすればよいですか?
-
[解決済み】マルチインデックスとマルチカラムインデックスの比較
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】データベースへの「ネイティブ」SQL接続を使用するとはどういう意味ですか?
-
[解決済み】集約関数のないTSQLピボット
-
[解決済み】SQLが単一グループのグループ関数でないこと
-
[解決済み】Athena: スケールファクターでリソースを使い果たすクエリ
-
[解決済み] pg_restoreです。[archiver] 入力ファイルはテキスト形式のダンプであるように見えます。psql を使用してください。
-
[解決済み] Oracle(LiveSQL)のSQL [重複]について
-
[解決済み] FROM のサブクエリにはエイリアスが必要です。
-
[解決済み] ORA-00918: 列があいまいに定義されています」を解決する方法
-
[解決済み] アクセスクエリーエラー(from句のシンタックスエラー)
-
[解決済み】COUNT(*) vs. COUNT(1) vs. COUNT(pk): どちらが良いですか?[重複]。