Hace aproximadamente 2 meses, importé datos de EnWikipedia (http://dumps.wikimedia.org/enwiki/20120211/) en mysql.Crear índice lleva demasiado tiempo
Después de haber terminado de importar datos de EnWikipedia, he estado creando índices en las tablas de la base de datos de EnWikipedia en mysql durante aproximadamente 2 meses.
Ahora, he llegado al punto de crear un índice en "enlaces de página".
Sin embargo, parece tomar un tiempo infinito para pasar ese punto.
Por lo tanto, verifiqué el tiempo restante para asegurarme de que mi intuición era correcta o no.
Como resultado, el tiempo de espera restante fue de 60 días (suponiendo que creo índice en "pagelinks" de nuevo desde el principio.)
My EnWikipedia database has 7 tables:
"categorylinks"(records: 60 mil, size: 23.5 GiB),
"langlinks"(records: 15 mil, size: 1.5 GiB),
"page"(records: 26 mil, size 4.9 GiB),
"pagelinks"(records: 630 mil, size: 56.4 GiB),
"redirect"(records: 6 mil, size: 327.8 MiB),
"revision"(records: 26 mil, size: 4.6 GiB) and "text"(records: 26 mil, size: 60.8 GiB).
Mi servidor es ... versión 2.6.32 de Linux -5-amd64 (Debian 2.6.32-39), Memoria 16GB, 2.39Ghz Intel 4 core
¿Es ese fenómeno común para crear índices tan largos? ¿Alguien tiene una buena solución para crear índices más rápidamente?
¡Gracias de antemano!
P.S: Realicé las siguientes operaciones para verificar el tiempo restante.
Referencias (Lo sentimos, la página siguiente se escribe en japonés): http://d.hatena.ne.jp/sh2/20110615
1er. Obtuve registros en "pagelink".
mysql> select count(*) from pagelinks;
+-----------+
| count(*) |
+-----------+
| 632047759 |
+-----------+
1 row in set (1 hour 25 min 26.18 sec)
segundo. Obtuve la cantidad de registros aumentados por minuto.
getHandler_write.sh
#!/bin/bash
while true
do
cat <<_EOF_
SHOW GLOBAL STATUS LIKE 'Handler_write';
_EOF_
sleep 60
done | mysql -u root -p -N
comando
$ sh getHandler_write.sh
Enter password:
Handler_write 1289808074
Handler_write 1289814597
Handler_write 1289822748
Handler_write 1289829789
Handler_write 1289836322
Handler_write 1289844916
Handler_write 1289852226
tercero. Calculé la velocidad de grabación.
De acuerdo con el resultado de 2, la velocidad de grabación es
7233 records/minutes
cuarto. A continuación, el tiempo restante es
(632047759/7233)/60/24 = 60 days
posible duplicado de http : //stackoverflow.com/questions/2167522/innodb-takes-over-an-hour-to-import-600mb-file-myisam-in-a-few-minutes – SunKing2
Ahora ESO es lo que llamo paciencia. Respeto. – fancyPants