多くのプログラマーは MySQL に精通していると思います。多くの人が count の使い方と、最適なクエリ結果を取得する方法に苦労しています。今日は参考までに私の意見をいくつかお話ししたいと思います。 1. まずテーブルを作成し、後続のテスト手順を容易にするためのテストデータを準備しましょう InnoDBエンジンテーブルを例に挙げる テーブル作成ステートメントは次のとおりです。 テーブル test.test を作成します。 ( VARCHAR(50) NOT NULLコメント 'ddfdf'、 b VARCHAR(15) NOT NULLコメント 'fds', c VARCHAR(20) NOT NULL コメント 'asda', d VARCHAR(8) NOT NULL COMMENT 'ads', e longblob NOT NULL COMMENT 'asda'、 f VARCHAR(2000) COMMENT 'ads'、 g VARCHAR(8) NOT NULL コメント 'assd', h 日付 NULLでないコメント 'adsad', z VARCHAR(10) NOT NULL コメント 'adsd' ) エンジン=InnoDB デフォルト文字セット=utf8; 2. MySQLにログインしてデータベースを変更する 以下に示すようにテーブル作成ステートメントを実行します。 3. 次に、テストデータを準備し、下の図に示すように、データがあるかどうかを確認します。 4. 次にテストを開始します where条件がない場合 count(*) は count(field) よりも速いと考える人もいれば、count(field) は count(*) よりも速いと考える人もいます。 では、どちらが速いでしょうか? 試してみましょう。下の写真をご覧ください。 図の結果によると、count(field) の方が明らかに高速です。 5. where 条件がある場合はどうなるでしょうか? count(*) と count(field) のどちらが速いでしょうか? 実行効果は下の図をご覧ください count(*) は高速ですが、データ サイズが小さすぎて明らかな結果が表示されない可能性があります。 6. もちろん、実行計画を表示して分析することもできます 次の図に示すように、実行されるSQLの前にdescまたはexplainを追加するだけです。 最後にまとめると、 1. where条件がない場合はcount(field)が推奨される 2. where条件がある場合はcount(*)が推奨される 最後にまとめると、 1. where条件がない場合はcount(field)が推奨される 2. where条件がある場合はcount(*)が推奨される 以下もご興味があるかもしれません:
|
>>: JavaScriptは検証コードと検証のランダム生成を実装します
クロージャは、純粋関数型プログラミング言語の伝統的な機能の 1 つです。クロージャをコア言語構造の不...
まず、PHP5をインストールするのはとても簡単ですyum install php PHP5 を使用し...
Traceroute を使用すると、情報がコンピュータからインターネットの反対側のホストまでたどるパ...
MySQL テーブルのテーブル構造をすばやく変更する - 「MySQL 管理」から抜粋 ALTER ...
並行処理関数 i の `grep server /etc/hosts | awk '{pri...
公式ドキュメント:したがって、mysql は次のように起動する必要があります。 docker run...
この記事では、例を使用して MySQL の共有ロックと排他ロックの使用方法を説明します。ご参考までに...
上はシステム時間、下はハードウェア時間です。ここでは変更を加えているので、同じくらいの速さになってい...
html <!DOCTYPE html> <html lang="ja&...
MySQL 組み込みの日付関数 TIMESTAMPDIFF は、2 つの日付間の秒数、分数、時間数、...
ただし、デフォルトの src を持つ <img> 要素を使用してスクロール読み込み効果を...
フロントエンド開発者が必ず知っておくべきケースとして、タブバーの切り替え効果があります。タブバー自体...
1. リンクハイパーテキスト リンクは HTML において非常に重要です。基本的な形式は次のとおりで...
目次通常の読み込み遅延読み込みプリロードプリロードを使用しないプリロードの使用要約する通常の読み込み...
成果を達成する html <h2>CSS3 タイムライン</h2> <...