Tengo una tabla (en MySQL) llamada unused
con aproximadamente 5.4 millones de filas. La tabla se ve así:Agregar índice en una tabla grande toma para siempre
CREATE TABLE `unused` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`account_id` bigint(20) DEFAULT NULL,
`heading_label` varchar(255) NOT NULL,
`value` varchar(255) NOT NULL,
`created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
KEY `fk_account_id` (`account_id`),
CONSTRAINT `unused_ibfk_1` FOREIGN KEY (`account_id`) REFERENCES `account` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=80524905 DEFAULT CHARSET=latin1
Pensé que las consultas en esta tabla podrían ir más rápido si tuviera que agregar un índice. Intenté ejecutar esto:
create index heading_label
on unused (heading_label) using btree
Permití que este comando se ejecutara durante una o dos horas antes de reiniciar MySQL. A pesar de que esta tabla tiene más de 5 millones de filas, no parece que lleve más de una hora ejecutar este tipo de cosas. Pero tal vez eso es normal. Realmente no sé lo que estoy haciendo. ¿Alguien me puede iluminar?
Sería de gran ayuda si usted le dio la definición de la tabla de verdad. –
Edité la pregunta para incluir esto. –