tablas - ¿Cuántas filas MySQL son demasiadas?
rendimiento mysql (4)
Estoy trabajando en un sitio web que utiliza esencialmente una base de datos con una tabla de organizaciones, una fila para cada organización. Cada organización puede tener un número ilimitado de palabras clave adjuntas. Las palabras clave se representan en una tabla separada de las organizaciones donde cada fila es simplemente la clave principal, la palabra clave y la clave principal de la organización a la que está asociada. Eventualmente esta tabla podría tener muchos miles de entradas. ¿Esto hace que la extracción de registros de esta tabla, así como el listado de palabras clave únicas en la tabla, lleve demasiado tiempo?
Muchos miles de entradas no son muchas en absoluto. Asegúrese de indexar las palabras clave si necesita recuperar palabras específicas.
Si tienes que pedir los límites, lo estás haciendo mal. Aunque estás describiendo una relación de muchos a muchos, lo cual está perfectamente bien.
Simplemente mantenga los índices actualizados y no debería ser un problema. Tengo una tabla en mi base de datos actual que tiene 94k filas, y es lo suficientemente rápido.
Algunas recomendaciones para hacerlo más rápido, si sabe cuánto tiempo puede durar la palabra clave, y no es demasiado grande, considere usar CHAR en lugar de VARCHAR, usará más espacio, pero una fila de longitud de bytes completamente establecida es mucho más rápida que uno que no lo es. Al ejecutar consultas, obtenga solo lo que necesita, es decir, las cláusulas limit / top y where, y no use ''*'' en el selector a menos que realmente necesite todas las filas.
Tener un par de cientos de miles de filas está perfectamente bien, siempre y cuando:
- están indexados correctamente
- y sus consultas se realizan correctamente (es decir, utilizando los índices correctos, por ejemplo)
Estoy trabajando en una aplicación que está haciendo muchas consultas en varias tablas con un par de cientos de miles de registros en cada una, con uniones y no es una cláusula "simple", y esa aplicación funciona bien, bueno, ya que hemos optimizado Las consultas e índices ^^
Un par de millones de filas, en esas condiciones, también está bien, diría yo, depende de qué tipo de consultas (y cuántas de ellas) harás ^^
En todos los casos, solo hay una manera de saberlo con seguridad:
- Tienes que saber qué tipo de consultas vas a hacer,
- También tienes que tener un gran conjunto de datos para probar,
- Y tiene que realizar una evaluación comparativa: lanzar las consultas en su conjunto de datos, muchas veces, con concurrencia, como en "condiciones reales", y ayudará a responder las preguntas "¿manejará la carga? ¿Debo hacerlo? ¿Optimizar? ¿Cuáles son los cuellos de botella? "
como ya se dijo antes, mysql no debería ser el problema, he oído hablar de tablas con literalmente millones de filas que no causan ningún problema ... Pero tenga en cuenta que los bucles php en torno a las solicitudes de mysql pueden ser difíciles, ralentizar las cosas e incluso terminar su script con un '' ¡error de tiempo de espera!