Temos um aplicativo da Web simples executado em uma máquina virtual que salva seus dados em um banco de dados MySQL 5.5 com o mecanismo InnoDB. Tudo funcionou bem por cerca de três anos, mas de repente se tornou extremamente lento.
Por exemplo, tenho uma tabela muito simples contendo endereços:
CREATE TABLE 'addresses' (
'address_id' int(11) NOT NULL AUTO_INCREMENT,
'name' varchar(64) CHARACTER SET latin1 NOT NULL,
'firstname' varchar(64) CHARACTER SET latin1 NOT NULL,
'street' varchar(64) CHARACTER SET latin1 NOT NULL,
'housenumber' varchar(16) CHARACTER SET latin1 NOT NULL,
'zip' varchar(5) CHARACTER SET latin1 NOT NULL,
'city' varchar(64) CHARACTER SET latin1 NOT NULL,
'email' varchar(64) CHARACTER SET latin1 NOT NULL,
'phone' varchar(16) CHARACTER SET latin1 NOT NULL,
'birthdate' date NOT NULL,
PRIMARY KEY ('address_id')
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
Esta tabela contém cerca de 800 entradas, o que não é muito. Mas executando a consulta
SELECT * FROM addresses
para fins de teste, parece que nunca termina. Eu verifiquei isso com o mysql CLI no próprio servidor: Ele gera algumas linhas da tabela e, em seguida, aguarda muito tempo até que ele produza as próximas linhas.
Então, talvez seja um problema na fase de envio de dados, mas não tenho certeza.
A VM tem 2 GB de RAM e apenas 320 MB são usados. A CPU também funciona com 1 a 2% muito baixo. mytop não mostra outras consultas que estão bloqueando o servidor. O administrador de TI disse que eles não mudaram nada do lado do hardware.
Eu já tentei algo como reiniciar o servidor de banco de dados, reiniciar a máquina virtual. Nada ajudou.
edit:
EXPLAIN SELECT * FROM addresses
me dá esse resultado:
+----+-------------+-----------+------+---------------+------+---------+------+------+-------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-----------+------+---------------+------+---------+------+------+-------+
| 1 | SIMPLE | addresses | ALL | NULL | NULL | NULL | NULL | 793 | |
+----+-------------+-----------+------+---------------+------+---------+------+------+-------+
1 row in set (0.00 sec)