COUNT(*)すべきかどうか?
2023-09-17 14:37:41
質問
このようなクエリを行うのは一般的に良くないことだと思いますが、どうでしょうか?
SELECT * FROM `group_relations`
しかし、私は単にカウントが必要なとき、私はこのクエリに行くべきでしょうか、それはテーブルを変更することができ、まだ同じ結果をもたらします。
SELECT COUNT(*) FROM `group_relations`
また、より具体的には
SELECT COUNT(`group_id`) FROM `group_relations`
後者の方が速くなる可能性があるような気がするのですが、他に考慮すべき点はあるのでしょうか?
アップデートについて : この場合、私はInnoDBを使用しているのですが、より具体的でなくて申し訳ありません。
どのように解決するのですか?
当該カラムがNOT NULLの場合、どちらのクエリも同等です。group_id に NULL 値が含まれる場合。
select count(*)
は全ての行を数えますが
select count(group_id)
はgroup_idがNULLでない行だけを数えます。
また、MySQLのようないくつかのデータベースシステムは、count(*)を要求したときに、特定のクエリよりも少し速くなるような最適化を採用しています。
個人的には、単にカウントする場合、ヌル文字で安全側になるようにcount(*)をしています。
関連
-
mysql がエラーを報告します。不明な文字セットです。'utf8mb4'
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?
-
[解決済み] JavaScriptでオブジェクトのキー/プロパティの数を効率的にカウントする方法
-
[解決済み] リストに値が存在するかどうかを確認する最速の方法
-
[解決済み] INNER JOINよりもCROSS APPLYを使用すべきなのはどのような場合ですか?
-
[解決済み] CSSは常にJavascriptより優先されるべきか?
-
[解決済み] なぜ[]はlist()よりも速いのですか?
-
[解決済み] Intel CPU の _mm_popcnt_u64 で、32 ビットのループカウンターを 64 ビットに置き換えると、パフォーマンスが著しく低下します。
-
[解決済み】Count(*)とCount(1)の比較 - SQL Server
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
MySQLのselect、distinct、limitの使い方
-
MySQLデータ型の詳細
-
MySql認証ベースのvsftpd仮想ユーザー
-
面接では選択式で聞かれましたが......。.for updateはテーブルをロックするか、行をロックするか?
-
mysqlインデックスが長すぎる特殊なキーが長すぎる解決策
-
MySQLデータベースで数百万件のデータを10秒間で挿入
-
[解決済み】MySQL - オペランドは1つのカラムを含む必要があります。
-
[解決済み】マルチパート識別子をバインドできない
-
Mysql がエラーを報告 オペランドには 1 つのカラムが含まれている必要があります。
-
[解決済み] SQLを使用してSUMとSUBTRACTを行うには?