sql >> データベース >  >> RDS >> Mysql

InnoDBでCOUNTをまとめて回避する必要がありますか?

    SELECT COUNT(*)FROM tablename 全表スキャンを実行しているようです。

    SELECT COUNT(*)FROM tablename USE INDEX(colname) 使用可能なインデックスがNOTNULL、UNIQUE、および固定長の場合、非常に高速であるように見えます。一意でないインデックスは、たとえあったとしても、あまり役に立ちません。可変長インデックス(VARCHAR)は遅いように見えますが、それは単にインデックスが物理的に大きいためである可能性があります。整数のUNIQUENOTNULLインデックスはすばやくカウントできます。これは理にかなっています。

    MySQLは実際にこの最適化を自動的に実行する必要があります。



    1. Ubuntu20.04LTSにMySQL8をインストールする方法

    2. Django + Python 3+PostgreSQLをAWSElasticBeanstalkにデプロイする

    3. MySQL 4.1.x + Connector/Jを使用した大規模な結果セットのストリーミング

    4. Spring DataのJPAリポジトリを使用したFindByUUID()