Friday, November 18, 2005

 

DAT307 - SQL Server 2005 Indexing: It Really Does Help!

Segona de la sèrie de tres sessions a càrrec de Kimberly L. Tripp que tractaven sobre SQL Server 2005 i rendiment. Després de que en la primera ens expliqués com monitoritzar un SQL Server 2005, ara es tractava de comentar com els diferents tipus d'índexs de SQL Server 2005 podien augmentar el rendiment. Com la resta de sessions d'aquesta sèrie, estava destinada sobretot a DBAs.

La sessió va ser pràcticament una demo contínua: va agafar varis tipus de queries (ANDs, ORs i JOINs) i va comentar quins índexs podien ajudar en cada cas i el perquè. Finalment va donar una guia de "procediment" per intentar esbrinar en cada cas els millors índexs. Això sí, va deixar clar que l'objectiu era augmentar el temps de resposta de les consultes, a costa de que hi hagués la possibilitat de penalitzar els temps d'inserció, modificació o eliminació de registres, i que cada cas s'havia d'analitzar per arribar a un compromís.
Els punts claus serien:
  1. No intentar optimitzar-ho tot: Només les queries més crítiques en temps i en recursos. Va fer ènfasis que el temps no ho és tot, també els inouts (inputs/outputs) que genera una query.
    1. Per decidir les queries crítiques el millor és (apart de preguntar, si es pot, als usuaris per saber els seu feed-back) monitoritzar (tema que haviem vist en la sesisó anterior).
  2. Segons el tipus de query ens va donar consells generals sobre quins poden ser els millors índexs. Va insistir que sempre que sigui possible és millor substituir un OR per un UNION, que en molts casos és equivalent, però molt més òptim (almenys en SQL Server 2000, es veu que l'optimitzador de SQL Server 2005 també ha aprés aquest truc). Sobre les JOINs va recalcar que per complexes que fossin, no ens estressessim: que el SQL Server només sabia fer JOINs de dos taules en dos taules i que per tant es tractava d'anar separant el problema (divide and conquer!!!!!!!).
  3. Finalment ens va mencionar que el database tunning wizard, és molt útil, però que cal pendre's les seves suggerències amb certa cautela, perquè és una eina que tendeix, a vegades, a posar més índexs dels realment necessaris. I com no: importància cabdal del pla d'execució: cal mirar-lo atentament per decidir quina part de la consulta és la realment costosa!
En resum: una conferència interessant i molt pràctica. Tot i estar totalment destinada a DBAs crec que els desenvolupadors també poden beneficiar-se (i molt) d'aquests coneixements... sempre és millor que la BBDD ja estigui ben dissenyada d'inici, no??? ;)

Comments: Post a Comment



<< Home

This page is powered by Blogger. Isn't yours?