こんにちは。今回はMyISAMでのCOUNT()関数について書いてみたいと思います。
COUNT()は皆さんご存知のように、テーブル中の行数を数える関数です。
MyISAMではテーブル全件を数えるCOUNT(*)関数の実行が非常に速いというのが巷の噂ですが、実際のところはどうなのでしょうか?ちょっと見てみたいと思います。
まずは比較のため、innodbのテーブルでカウントしてみたいと思います。
少しは件数の入ったテーブルが良いので、MySQLのサンプルとして提供されている
WorldデータベースのCityテーブルを使ってみました。
[InnoDB結果]
全件
mysql> alter table city engine=innodb;[さらに読む]
Query OK, 4079 rows affected (0.27 sec)
Records: 4079 Duplicates: 0 Warnings: 0
mysql> flush tables;
Query OK, 0 rows affected …