[PHP o SQL] Cálculos y Operaciones

Estoy desarrollando una pequeña aplicación web que obtiene los datos desde un servidor SQL que es independiente al servidor PHP. (En cuanto a caracteristicas/specs, ambos servidores son similares).

A la hora de desarrollar tengo la duda de si es mejor realizar los cálculos (tipo media, ordenar por fecha etc) en el servidor SQL y devolver la información al servidor PHP para únicamente mostrarlos o por el contrario, volcar la información de las consultas desde el servidor SQL bastante en bruto y realizar el tratamiento (ordenar, medias etc) en el servidor PHP.

Saludos
Newton escribió:Estoy desarrollando una pequeña aplicación web que obtiene los datos desde un servidor SQL que es independiente al servidor PHP. (En cuanto a caracteristicas/specs, ambos servidores son similares).

A la hora de desarrollar tengo la duda de si es mejor realizar los cálculos (tipo media, ordenar por fecha etc) en el servidor SQL y devolver la información al servidor PHP para únicamente mostrarlos o por el contrario, volcar la información de las consultas desde el servidor SQL bastante en bruto y realizar el tratamiento (ordenar, medias etc) en el servidor PHP.

Saludos


Probablemente que lo traiga del servidor todo ya ordenado. También depende de ambos servidores claro.
Quizás peco de novato, pero si usas varios las funciones asíncronas del PHP podrías ejecutar código mientras esperas a que la BD te devuelva el resultado ordenado y/o filtrado, aprovechando ambas máquinas y reduciendo los tiempos que "duermen" ambas máquinas a la hora de ejecutar un código.

Ahora, cómo se hace eso, ni puta idea, era mi opinion de cuñado de bar.
Los calculos de ordenación, paginación etc siempre hay que hacerlos en las querys a base de datos por temas de rendimiento, imagina que tienes que sacar 10.000 registros cada vez que haces una query para paginar y luego en el frontal obtener el rango que te interese
Como dice _Javi, todo ese tipo de cálculos que te puedas traer ya bien montados desde la BD te va a tardar muchísimo menos que traerte los datos en bruto y procesarlos mediante programación. Tira de procedimientos para ello.

Yo trabajo en el proyecto de la web de uno de los principales super de España y prácticamente nos limitamos a mostrar datos; todo lo que podamos procesar y montar en bd así se hace, donde los tiempos de accesos y procesado de la informacion son infinitamente inferiores, mas cuando vas a tratar miles de datos.

Yo he llegado hacer pruebas de rendimiento para procesar datos (no sacar sino introducir) entre hacerlo en Java o meter los datos en una tabla temporal y procesarlos luego con procedimientos y menuda diferencia.
4 respuestas