Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Devo evitar COUNT todos juntos no InnoDB?


SELECT COUNT(*) FROM tablename parece fazer uma varredura completa da tabela.

SELECT COUNT(*) FROM tablename USE INDEX (colname) parece ser bastante rápido se o índice disponível for NOT NULL, UNIQUE e de tamanho fixo. Um índice não-UNIQUE não ajuda muito, se é que ajuda. Índices de comprimento variável (VARCHAR) parecem ser mais lentos, mas isso pode ser apenas porque o índice é fisicamente maior. Índices inteiros UNIQUE NOT NULL podem ser contados rapidamente. O que faz sentido.

O MySQL realmente deve realizar essa otimização automaticamente.