Ver Mensaje Individual
  #9 (permalink)  
Antiguo 04/07/2014, 11:47
Avatar de dashtrash
dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años
Puntos: 270
Respuesta: Menus de ilimitados subniveles

Cita:
Iniciado por Eleazan Ver Mensaje
Claro. SQL no tiene caché. Y depende del tamaño de la tabla, y las opciones de tu servidor, te quedas sin memoria si metes toda la tabla en un array...

A mi la experiencia me dice que normalmente, tienes un host con memoria limitada (es más, suele ser compartido...). Y no sueles poder cambiar ese parámetro. Y he trabajado bastante con bbdd de hasta 40k de lineas, y tablas pesadas... y si cargas todo eso en memoria, te va a dar un fatal_error. Asiq si puedes trabajar linea a linea, ahorras memoria (a base de cargar un pelin la bbdd? ¿ser un poco más lento?).
Claro.La cache de sql tiene el mismo rendimiento si haces siempre la misma query, que si haces 1000.y como mysql tiene cache, el tiempo de ejecucion de tu pagina es el mismo hagas una query, que si haces mil.Y claro, si la tabla es tan grande que ni cabe en memoria, cargarla en bucles,teniendo en cuenta que vas a procesar todas las filas, solo mejora la situacion...Y todo eso, si no confundieras numero de consultas, con numeros de filas en memoria.A menos, claro, que tenga un menu con varias decenas de miles de subopciones, cosa que me parece improbable.
En mi experiencia, trabajando con bases de datos con decenas de tablas por encima del millon de filas, mejor que no me encuentre un programador haciendo queries del tipo que se muestran ahi arriba...