実施効果: 1. count(1) と count(*) テーブル内のデータ量が多い場合、テーブルを分析した後、count(1) を使用すると count(*) を使用するよりも時間がかかります。 実行プランから見ると、count(1)とcount(*)は同じ効果があります。 ただし、テーブルを分析すると、count(1) は count(*) よりも時間がかかりません (10,000 項目以内のデータの場合) が、その差はそれほど大きくありません。 count(1) がクラスター化インデックス id である場合、count(1) の方が確実に高速になります。しかし、その差は非常に小さいです。 count(*) は自動的にそのフィールドに合わせて最適化されるためです。したがって、count(1) を使用する必要はなく、count(*) を使用してください。SQL が最適化に役立ちます。したがって、count(1) と count(*) の間には基本的に違いはありません。 2. count(1) と count(フィールド) 両者の主な違いは (1) count(1)は、フィールドがnullのレコードも含め、テーブル内のすべてのレコードの数をカウントします。 (2)count(field)は、フィールドがnullの場合は無視して、テーブル内でフィールドが出現する回数をカウントします。つまり、フィールドが null のレコードはカウントされません。 count(*)とcount(1)とcount(列名)の違い 実行効果: count(*) にはすべての列が含まれ、行数に相当します。結果をカウントする際、NULL 値を持つ列の値は無視されません。 実行効率: 分析例 mysql> counttestテーブルを作成します(name char(1), age char(2)); クエリは正常、影響を受けた行は 0 行 (0.03 秒) mysql> counttest の値に挿入 -> ('a', '14'),('a', '15'), ('a', '15'), -> ('b', NULL)、('b', '16')、 -> ('c', '17'), -> ('d', null)、 ->('e', ''); クエリは正常、8 行が影響を受けました (0.01 秒) 記録: 8 重複: 0 警告: 0 mysql> counttest から * を選択します。 +------+------+ | 名前 | 年齢 | +------+------+ | 14 | | 15 | | 15 | | b | NULL | | 16 | | 17 | | d | NULL | | 電子 | | +------+------+ セット内の行数は 8 です (0.00 秒) mysql> 名前、count(name)、count(1)、count(*)、count(age)、count(distinct(age)) を選択します。 -> counttest から -> 名前でグループ化します。 +------+-------------+-----------+-----------+-----------+----------------------+ | 名前 | count(名前) | count(1) | count(*) | count(年齢) | count(distinct(年齢)) | +------+-------------+-----------+-----------+-----------+----------------------+ | 1 | 3 | 3 | 3 | 3 | 2 | | 2 | 2 | 2 | 1 | 1 | | 1 | 1 | 1 | 1 | 1 | | 1 | 1 | 1 | 0 | 0 | | 1 | 1 | 1 | 1 | 1 | +------+-------------+-----------+-----------+-----------+----------------------+ セット内の行数は 5 です (0.00 秒) 追加参考資料: http://blog.csdn.net/lihuarongaini/article/details/68485838 これで、count(1)、count(*)、count(列名)の違いについての説明は終了です。count(1)、count(*)、count(列名)の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: 同じドメイン名を持つ Nginx プロキシのフロントエンドとバックエンドの分離プロジェクトの完全な手順
>>: Vue3はサイドナビゲーションテキストスケルトン効果コンポーネントをカプセル化します
画像の色を変更するための CSS テクニックは非常にシンプルです。具体的なコードは次のとおりです。ヒ...
この記事では、MySQL 8.0.24のインストールチュートリアルを参考までに紹介します。具体的な内...
乱雑なログ日常的に使用される Nginx は、静的リソース サーバーとリバース プロキシ サーバーの...
1. ダウンロードリンクをダウンロードするダウンロードをクリックします。Oracle アカウントにロ...
目次基本的な設定バージョンとDockerイメージについて始めるelasticsearch.ymlにつ...
目次入力ボックスをクリックして開始します拡張機能入力ボックスをクリックすると複数のイベントが発生しま...
目次概要Big O 表記法とは何ですか?オー(1)の上) (n^2) O(logn) ですの上!)結...
Lottie は、Airbnb が開発した iOS、Android、React Native 向けの...
テーブルデータを作成する テーブル `praise_info` を作成します ( `id` bigi...
目次1. マップを初期化する2. マップポイント3. 位置決めを有効にする4. マップの変更を監視す...
前回の記事に引き続き、web02 サーバーを作成し、web01 サーバーと web02 サーバーの ...
最近、Bootstrap を使って Web サイトを開発しています。表を処理していたところ、PC で...
はじめに: MySQL では、CONCAT() 関数を使用して複数の文字列を 1 つの文字列に連結し...
簡単に言えば、遅延レプリケーションとは、スレーブ データベースがマスター データベースより 1 時間...
目次1. はじめに2. インストール01. 新しい仮想マシンを作成する02. システムをインストール...