SELECT COUNT está muito lento.....aí descobri que isso é uma caracteristica das tabelas InnoDB, lendo o manual do MySQL:
InnoDB does not keep an internal count of rows in a table. (In practice, this would be somewhat complicated due to multi-versioning.) To process a SELECT COUNT(*) FROM t statement, InnoDB must scan an index of the table, which takes some time if the index is not entirely in the buffer pool. To get a fast count, you have to use a counter table you create yourself and let your application update it according to the inserts and deletes it does. If your table does not change often, using the MySQL query cache is a good solution. SHOW TABLE STATUS also can be used if an approximate row count is sufficient.
SHOW TABLE STATUS não é uma opção boa pra mim.....dentre as outras 2 opções que eles sugerem..... qual deverá ser mais vantajosa? Alguém tem alguma outra alternativa???
Pergunta
Andréa Carvalho
SELECT COUNT está muito lento.....aí descobri que isso é uma caracteristica das tabelas InnoDB, lendo o manual do MySQL:
http://dev.mysql.com/doc/refman/5.0/en/inn...strictions.html
SHOW TABLE STATUS não é uma opção boa pra mim.....dentre as outras 2 opções que eles sugerem..... qual deverá ser mais vantajosa? Alguém tem alguma outra alternativa???
Editado por Andréa CarvalhoLink para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados