Mysql
 sql >> Base de données >  >> RDS >> Mysql

Dois-je éviter COUNT tous ensemble dans InnoDB ?

SELECT COUNT(*) FROM nomtable semble effectuer une analyse complète de la table.

SELECT COUNT(*) FROM tablename USE INDEX (colname) semble être assez rapide si l'index disponible est NOT NULL, UNIQUE et de longueur fixe. Un index non UNIQUE n'aide pas beaucoup, voire pas du tout. Les indices de longueur variable (VARCHAR) semblent être plus lents, mais cela peut simplement être dû au fait que l'index est physiquement plus grand. Les indices entiers UNIQUE NOT NULL peuvent être comptés rapidement. Ce qui est logique.

MySQL devrait vraiment effectuer cette optimisation automatiquement.