sql >> Base de Datos >  >> Database Tools >> phpMyAdmin

MySql - WAMP - Huge Table es muy lento (20 millones de filas)

Algunas respuestas:

  • 20 millones de filas está dentro de la capacidad de MySQL. Trabajo en una base de datos que tiene más de 500 millones de filas en una de sus tablas. Puede tomar horas reestructurar una tabla, pero las consultas ordinarias no son un problema siempre que estén asistidas por un índice.

  • Su computadora portátil está bastante desactualizada y tiene poca potencia para usarla como un servidor de base de datos de gran escala. Tomará mucho tiempo hacer una reestructuración de la tabla. La poca cantidad de memoria y el disco de la computadora portátil, por lo general lento, probablemente lo limiten. Probablemente también esté utilizando la configuración predeterminada para MySQL, que está diseñada para funcionar en computadoras muy antiguas.

  • No recomendaría usar TEXT tipo de datos para cada columna. No hay razón por la que necesites TEXT para la mayoría de esas columnas.

  • No cree un índice en cada columna, especialmente si insiste en usar TEXT tipos de datos. Ni siquiera puedes indexar un TEXT columna a menos que defina un índice de prefijo . En general, elija índices para admitir consultas específicas.

Probablemente tenga muchas otras preguntas basadas en lo anterior, pero hay mucho que cubrir en una sola publicación de StackOverflow. Es posible que desee recibir capacitación o leer un libro si va a trabajar con bases de datos.
Recomiendo MySQL de alto rendimiento, 2.ª edición .

Re sus preguntas de seguimiento:

Para la optimización de MySQL, este es un buen lugar para comenzar:http://www.mysqlperformanceblog.com/2006/09/29/what-to-tune-in-mysql-server-after-installation/

Muchas operaciones ALTER TABLE provocan una reestructuración de la tabla, lo que significa básicamente bloquear la tabla, hacer una copia de toda la tabla con los cambios aplicados y luego cambiar el nombre de las tablas nuevas y antiguas y eliminar la tabla anterior. Si la mesa es muy grande, esto puede llevar mucho tiempo.

Un tipo de datos de TEXTO puede almacenar hasta 64 KB, lo cual es excesivo para un número de teléfono o un estado. Usaría CHAR (10) para un número de teléfono típico de EE. UU. Usaría CHAR (2) para un estado de EE. UU. En general, utilice el tipo de datos más compacto y económico que admita el rango de datos que necesita en una columna determinada.