Foros del Web » Programando para Internet » PHP »

Obtimizar llamadas a sql

Estas en el tema de Obtimizar llamadas a sql en el foro de PHP en Foros del Web. Hola amigos estoy mirando alguna forma para obtimizar las llamadas a la base de datos, sobre todo en la portada de mi web, ya que ...
  #1 (permalink)  
Antiguo 13/07/2006, 00:10
Avatar de benti  
Fecha de Ingreso: octubre-2001
Ubicación: Benidorm
Mensajes: 413
Antigüedad: 22 años, 5 meses
Puntos: 0
Busqueda Obtimizar llamadas a sql

Hola amigos estoy mirando alguna forma para obtimizar las llamadas a la base de datos, sobre todo en la portada de mi web, ya que hago consultas a muchas tablas para poner x noticias, x descargas, x foros, x cronicas, etc etc.

He pensado que se cree un xml (por ejemplo) que cuando actualice lo genere automaticamente hasta la siguiente actualización de este modo leer solo un archivo, el caso es que veo paginas con muchas llamadas a bases de datos como elpais.es o elmundo.es y tienen una descarga rápida.

Ya me comentais que puedo hacer, para mejorar que esa primera página no haga tantas llamadas a la base de datos.

Gracias!
__________________
Seguro que ahora me sale mejor!
  #2 (permalink)  
Antiguo 13/07/2006, 02:19
Avatar de Smolky  
Fecha de Ingreso: mayo-2006
Ubicación: Cartagena
Mensajes: 177
Antigüedad: 17 años, 10 meses
Puntos: 14
Si las base de datos a las que llamas estan en el mismo servidor, no creo que las consultas a la base de datos (siempre que esten bien echas) influyan tanto a la carga de la pagina.

¿Solo notas que va lento en la pagina principal? ¿O Tambien lo notas en las páginas internas?
__________________
No hay cuerda desafinada sino músico progresivo
  #3 (permalink)  
Antiguo 13/07/2006, 03:58
 
Fecha de Ingreso: junio-2006
Mensajes: 87
Antigüedad: 17 años, 9 meses
Puntos: 0
Por dar alguna idea:
* Revisa que todas las SQLs tienen el limit, para que no te devuelva todos los registros de la tabla, que si son muchos algo se notará.
* Prueba a ejecutar las SQLs una por una directamente en la BBDD para ver si hay alguna que tarde mucho tiempo y sea la causante de ese retraso, así sabras donde centrarte para optimizar.

* Revisa el código PhP, por ejemplo el otro día leí una página que decía que era más rápido guardar el texto en una variable y depués hacer un echo, que hacer un echo por cada línea (no se si me he explicado, y es cierto?), así que el uso de comillas simples era más rápido que las dobles... y algunos tips más.
  #4 (permalink)  
Antiguo 13/07/2006, 08:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Cita:
Revisa el código PhP, por ejemplo el otro día leí una página que decía que era más rápido guardar el texto en una variable y depués hacer un echo, que hacer un echo por cada línea (no se si me he explicado, y es cierto?), así que el uso de comillas simples era más rápido que las dobles... y algunos tips más.
En principio así es .. el uso de comillas simples para PHP le indica que no ha de "evaluar" lo que esté dentro .. se lo "salta" directamente ..no como un "entrecomillado" con comillas dobles que le indica a PHP que tiene que entrar dentro de esa "cadena" a evaluar si encuentra alguna $Variable por médio que interpretar.

Pero realmente .. habría que hacer pruebas .. la mejora de rendimiento no será "abismal" .. (igualmente es buena práctica considerar este punto).

A nivel de optimización .. si esos datos que manejas en portada no se actualizan frecuentemente .. podrías manejar el concepto de "caché" .. sobre un XML o como gustes .. igualmente recuerda que "parsear" un XML tampoco es una taréa menor si el modelo de datos y datos en general es complejo o de tamaño considerable.

Por otro lado tu servidor Mysql podría a nivel de configuración optimizarse .. Mysql hace "caché" de por sí de las consultas realizadas y ese dato se puede manejar (en my.ini) ..

Pero también como ya han comentado habría que revisar que tipo de consultas SQL haces .. por ahí (SQL) también se podrá optimizar seguramente.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:56.