Año 6 • No. 262 • abril 16 de 2007 Xalapa • Veracruz • México
Publicación Semanal


 Centrales

 General


 Reportaje

 Becas y  oportunidades

 
Arte

 Deportes


 Contraportada


 Números  Anteriores


 Créditos

 

Tecno Tips
Recomendaciones para la generación de consultas en bases de datos SQL Server

Sabías que cuando se ejecuta una consulta a una base de datos SQL Server se llevan a cabo varios pasos: primero se realiza un control de sintaxis, si es correcta, se da paso a una estandarización de la sentencia, luego se hace una optimización de la misma y al final quedan la compilación y la ejecución.

En el proceso de optimización, SQL Server busca lo que se denomina “Argumentos de búsqueda”, que son las partes de las cuales se puede valer SQL Server para decidir cuál es el método adecuado de resolución de esa consulta, y se consideran pertenecientes a este grupo los operadores: =, >, <, <=, >=, BETWEEN, LIKE e IN.

A la larga estos últimos se transforman en operadores del tipo anteriormente mencionado; es decir, una instrucción IN se descompone en algo como: campo = valor_a OR campo = valor_b, etcétera, donde los operadores lógicos AND y OR apoyan todo esto.

Además de lo anterior, es recomendable para la optimización de código utilizar la instrucción “JOIN” en las consultas donde se involucren dos o más tablas, ya que el optimizador sale en la búsqueda de los JOINs cuando realiza su tarea.

Es importante comentar que no es recomendable utilizar la cláusula “WHERE” para plantear la condición del JOIN, sino utilizar “ON”. La diferencia radica en que cuando se utiliza “ON” para hacer la concordancia de columnas se deja la cláusula WHERE para especificar las condiciones que deberán cumplir las filas una vez unidas las tablas.

Todo lo anterior, se puede aún mejorar en cuanto a rendimiento si se encapsula el código de las consultas dentro de procedimientos almacenados (Stored Procedures), ya que los mismos permiten aprovechar toda la potencia del servidor. Cada vez que se ejecute ese procedimiento almacenado, el código ya estará controlado, estandarizado, optimizado y compilado, con lo cual sólo quedará su ejecución, permitiendo realizar las consultas de una forma más rápida y eficiente.

Por último, se recomienda evitar el uso de “cursores” para realizar consultas, ya que si un cursor no esta bien programado o no se tiene el control del mismo, este puede utilizar demasiada memoria del servidor afectando el desempeño del equipo. Existen casos que sólo se resuelven con cursores, como es el recorrer el resultado de una consulta y realizar en cada paso operaciones complejas o que no se pueden realizar mediante una consulta simple, sin embargo recomendamos tener mucho cuidado si estos son utilizados.

Actualmente, la Universidad Veracruzana (UV) utiliza SQL Server como manejador de base de datos para varios sistemas institucionales, y existen servidores de producción y desarrollo que son administrados por personal de la Dirección de Desarrollo Informático de Apoyo Académico de la Dirección General de Tecnología de Información.