Ejemplos aplicados de cómo mejorar la gestión de bases de datos en sitios web.
Eliminar llamadas a bases de datos
En páginas tipo portal en las que a los lados se encuentran enlaces que son impresos a partir de bases de datos (distintas secciones, servicios,...) existe siempre un efecto ralentizador debido a que se trata de páginas altamente visitadas que efectúan múltiples llamadas a BD sistemáticamente en cada una de sus páginas.Una forma de agilizar la visualización de estas páginas es textualizando estos enlaces a partir de scripts internos. Pongamos el ejemplo de Desarrolloweb:
Como puede verse, a los lados hay secciones como "Vuestras páginas", "Cosecha del 2000", "Manuales" cuyos enlaces están almacenados en bases de datos. Sin embargo, los enlaces que se visualizan en la página no han sido obtenidos por llamadas a bases de datos sino que, cada vez que un nuevo elemento de la sección es añadido, esto actualiza automáticamente, por medio de un script, un archivo texto en el que el nuevo enlace es incluido y él más antiguo es eliminado. Es, de hecho, este archivo texto el que es insertado en el código fuente de la página. De este modo evitamos media docena de llamadas a bases de datos cada vez que una página es vista lo cual permite optimizar recursos de servidor de una manera significativa.
Eliminar palabras cortas y repeticiones
En situaciones en la que nuestra base de datos tiene que almacenar campos de texto extremadamente largos y dichos campos son requeridos para realizar selecciones del tipo LIKE '%algo%', los recursos de la BD pueden verse sensiblemente mermados. Una forma de ayudar a gestionar este tipo búsquedas es incluyendo un campo adicional.Este campo adicional puede ser creado automáticamente por medio de scripts y en él incluiríamos el texto original, del cual habremos eliminado palabras triviales como artículos, preposiciones o posesivos. Nos encargaremos además de eliminar las palabras que estén repetidas. De esta forma podremos disminuir sensiblemente el tamaño del campo que va a ser realmente consultado.
Hemos comentado en otros capítulos que los campos texto de mas de 255 caracteres denominados memo no pueden ser indexados. Si aún después de esta primera filtración nuestro campo continua siendo demasiado largo para ser indexado, lo que se puede hacer es cortarlo en trozos de 255 caracteres de manera a que lo almacenemos en distintos campos que podrán ser indexados y por tanto consultados con mayor rapidez.
Rubén Alvarez
Rubén es doctor en química y programador principalmente en sus ratos libres con...