Hola a todos,
Tengo el siguiente problema:
Cuando un usaurio hace muchos "click en links" o "refreshs" de una página, a la vez por cada click o refresh hace una conexión a la base de datos.
ocupo odbc_connect
gracias.
| |||
problemas con odbc_connect Hola a todos, Tengo el siguiente problema: Cuando un usaurio hace muchos "click en links" o "refreshs" de una página, a la vez por cada click o refresh hace una conexión a la base de datos. ocupo odbc_connect gracias. |
| |||
Si lo que quieres es optimizar el uso de tu Base de datos .. deberas de implementar algun sistema de "caché" para los resultados de esas consultas ... Uno de esos sistemas es bien básico: Se trata de generar un archivo de texto plano o incluso un "HTML" con el formato que tengan esos resultados en la página que los usas (o generar un XML seria lo ideal). Ese "archivo" (sea texto plano q luego le daras formato con PHP, HTML directo o incluso un XML q luego "parsearas" con PHP) lo debes de generar con cada cambio de algun registro que hagas en tu Base de datos (sea Updates/Insert's ..). Donde tengas q leer esa consulta .. lees en este caso del archivo de texto plano/HTML/XML que ya has generado en algun momento. Esto evitará un buen porcentaje de accesos a la BD dependiendo del sistema que tengas. Esto es útil por ejemplo para secciones de "noticias" en los que tienes un index o pagina muy visitada en la que muestras solo X noticias del total (X registros del total de la BD) .. Si el usuario ve una noticia (registro) fuera de ese rango (paginado, ver mas noticia, etc...) sigues con la programación tipica que tienes implementada. .. Generar todo el contenido de la BD a un "archivo" tampoco seria la idea .. ---------------------- Se me olvidó que tambien puedes usar conexines persistentes a la base de datos: odbc_pconnect() Un saludo, Última edición por Cluster; 08/01/2003 a las 12:40 |
| |||
Pero .. El problema que se te "coma" los recursos del servidor puede ser por varios factores y son los que deberias ver: 1) via ODBC a que BD estas accediendo? 2) con cuantos usuarios concurrentes te pasa que se queda sin recursos? A todo esto .. cualquier motor de base de datos (por lo menos Mysql, SQL server .. etc) disponen en su configuración de parametros para permitir X conexiones concurrentes a la vez .. Eso deberias mirarlo tambien. Luego está el punto no menos importante de tu propio código .. Liberar memoria es recomendable en cuanto se pueda .. al igual que conexiones a la BD y no esperar a que PHP lo haga de forma automática .. Las consultas SQL q usas igual no son lo mas optimas posíbles .. etc etc etc ... Asiganar una conexion a una BD (un link unico) a cierto Usuario y bia ODBC? .. por mi parte no se si es posible (via PHP o via comando SQL .. ?). Un saludo, |