Hola foreros
tengo una consulta.
miren, estoy haciendo un sitio web con letras de canciones en PHP y MySql,
en la base de datos tengo como 12000 registros. pero el sitio se pone muy lento para abrir la pagina principal (index.php) (¿por que será?), y eso que lo estoy probando en mi pc a traves de localhost.
en el index.php tengo una consulta que muestra los 10 últimos albumes que se han agregado a la base de datos. por lo cual hay una consulta así:
"Select * FROM tb_lyrics GROUP BY album ORDER BY fecha_insercion DESC"
Luego hago un bucle que muestra los 10 primeros registros.
además existen en index.php 3 juegos de registros que buscan:
- Los 10 artistas más leidos.
- Los 10 albumes mas leidos.
- Las 10 letras de canciones más leidas.
Yo tengo en la base de datos 1 sola tabla con los 12000 registros, dentro de los campos estan el nombre del artista, el album, la letra de la cancion y el numero de visitas. por lo cual debo hacer un GROUP BY ALBUM para determinar el album más leido, un GROUP BY ARTISTA para determinar el artista más leido, etc.
Mis dudas son las siguientes:
- ¿Debería agregar un "LIMIT 0,10" al final de la consulta para que carge en memoria solo los datos que voy a mostrar? ¿o la instruccion LIMIT no sirve para eso?.
-Sospecho que al hacer un SELECT *... carga los 12000 registros en la memoria por eso el pc se pone lento.
¿Estoy en lo correcto o no?
Me gustaría saber sus opiniones respecto a como hacer las consultas para aprovechar al máximo los recursos del PC y no despilfarrarlos.
¿conoce alguien un manual para optimizar los sitios y las consultas en funcion de mejorar la rapidez con que se abren las páginas del sitio?
Ojalá me puedan orientar
Gracias