私はちょうどこの背後にある仕組みを理解しようとしています。 2つのクエリがあります。なぜMySQL COUNT + GROUP-BYはGROUP-BYよりも時間がかかります
SELECT SQL_NO_CACHE count(id) AS cnt FROM `users` GROUP BY country
SELECT SQL_NO_CACHE id FROM `users` GROUP BY country
idはプライマリで、国はインデックスに登録されていません。 カウントを伴うクエリの実行に時間がかかります。テーブルのGROUP BYの内容に私の理解から、あなたはとにかくすべての行を歩く必要がありますか?もしそうなら、それはグループ化されたものとしてカウントされないのはなぜですか?そうでない場合、どのようにすべての行を通過することなくグループ化することができますか?その一部をスキップする方法はありますか?
私は本当に申し訳ありませんが、私は質問を作成するときに間違ったクエリをコピーしました。それは修正されました。 – Eugene