viernes, 23 de noviembre de 2007

Construyendo Query optimizadas en SQL Server

Cuando estamos desarrollando cualquier aplicación de gestión, es fundamental que el acceso y la recogida de datos desde la aplicación sea lo más eficiente posible. En las sentencias SQL sencillas o base de datos pequeñas no hay problema pero ¿qué ocurre cuando tenemos varias tablas unidas y filtros complicados? Si tenemos muchísimos registros esto podría crear una cuello de botella que haga lenta y pesada nuestra aplicación. ¿Le compramos más caballos al servidor para que corra más? ¡Olvídate de eso! Como siempre, aquí está el iliturgitano ofreciéndote soluciones ;)

Hoy voy a enseñarte varias herramientas para lograr optimizar al máximo nuestras query's. Por un lado el mismo Manager de SQL Server con su plan de ejecución. Si abrimos el Manager ( puedes descargarlo gratuitamente si todavía no lo tienes de este enlace http://tinyurl.com/ywtydp ) y empezamos a escribir una nueva consulta sólo tenemos que activar esta opción antes de ejecutar la consulta y, además de poder ver el resultado de la consulta, podremos ver el costo que supone para el motor de SQL Server realizar dicha consulta y comparlo con otra Query para comprobar cual de ellas está más optimizada o, simplemente, comprobar en que partes se "atraganta" más nuestra consulta e intentar optimizar esa parte. Gracias a esto, además, podremos deducir en que partes sería idóneo usar índices para filtrar y en cuales no (¡¡no te olvides nunca de la importancia de los índices!!).

Pero no es la única herramienta que te puede ayudar a esto. También existe un programita que te permite realizar pruebas de extress usando la consulta que quieras. Simplemente tienes que seleccionar la base de datos, escribir tu consulta, escribir el número de veces que quieres q se repita y en cuantos hilos quieres que se lance. Pulsa en "GO" y el programa te mostrará el tiempo total que ha tardado en lanzarse la consulta según la configuración, así como cualquier error que pueda haberse producido en la prueba.

Si quieres probar esta pequeña utilidad puedes descargártelo de la web http://www.datamanipulation.net/SQLQueryStress/

Ya puedes ir probando tus consultas más complejas con estas dos utilidades que te ha mostrado hoy tu iliturgitano y notarás la diferencia.

No hay comentarios:

Publicar un comentario

La Moderación de Comentarios está Activada.

Por favor NO dejes Spam de tu blog o publicidad de tus productos.

Recuerda no utilizar Mayúsculas e intenta cuidar la ortografía dentro de tus posibilidades