Sei sulla pagina 1di 3

17 de noviembre de

2008 [OPTIMIZANDO PRESTACIONES]


Las bases de datos (BD) cuanto ms extensas requieren una mayor
atencin a la hora de organizar sus contenidos. Cuando se trabaja
con tablas de miles o decenas de miles de registros la bsqueda de
un determinado dato !uede resultar un !roceso largo que ralentiza
enormemente la creacin de nuestra !gina.
"s !or ello im!ortante tener en cuenta una serie de as!ectos
indis!ensables !ara el mejor #uncionanmiento de la base.
Gestin y eleccin de los ndices
Los $ndices son cam!os elegidos arbitrariamente !or el constructor de
la BD que !ermiten la bsqueda a !artir de dicho cam!o a una
%elocidad notablemente su!erior. &in embargo' esta %entaja se %e
contrarrestada !or el hecho de ocu!ar mucha ms memoria (el doble
ms o menos) y de requerir !ara su insercin y actualizacin un
tiem!o de !roceso su!erior.
"%identemente' no podemos inde!" todos los c!mpos de una
tabla extensa ya que doblamos el tama(o de la BD. )gualmente'
tam!oco sir%e de mucho el indexar todos los cam!os en una tabla
!eque(a ya que las selecciones !ueden e#ectuarse r!idamente de
todos
modos.
*n caso en el que los $ndices !ueden resultar muy tiles es cuando
realizamos !eticiones simultneas sobre %arias tablas. "n este caso'
el !roceso de seleccin !uede acelerarse sensiblemente si
inde!mos los c!mpos #$e si"%en de neo ent"e l!s dos
t!&l!s. "n el ejem!lo de nuestra librer$a %irtual estos cam!os ser$an
id+cliente e id+articulo.
Los $ndices !ueden resultar contra!roducentes si los introducimos
sobre cam!os tri%iales a !artir de los cuales no se realiza ningn ti!o
de !eticin ya que' adems del !roblema de memoria ya mencionado'
estamos relentizando otras tareas de la base de datos como son la
edicin' insercin y borrado. "s !or ello que %ale la !ena !ensarselo
dos %eces antes de indexar un cam!o que no sir%e de criterio !ara
bsquedas de los internautas y que es usado con muy !oca
#recuencia !or razones de mantenimiento.
Gestin de los neos ent"e t!&l!s
"l enlace entre tablas es uno de los !untos ms !eliagudos y que
!uede lle%ar a la absoluta lentizacin de la base de datos a causa
,!eque(os, detalles que resultan ser #atales.
)maginemos que trabajamos con una !eque(a BD constituida !or dos
tablas de -... registros cada una. )maginemos ahora una seleccin
simultnea en la que im!onemos la condicin de que el %alor un
cam!o de la !rimera sea igual a de una segunda' algo que se realiza
con mucha #recuencia. "n este ti!o de casos' la BD leer y com!arar
cada %alor de cam!o de una con cada %alor de cam!o de la otra. "sto
Ing. Nancy Casildo B. 1
17 de noviembre de
2008 [OPTIMIZANDO PRESTACIONES]
re!resentar$a un milln de lecturas. "ste hecho !odr$a agra%arse si
consultamos una tercera tabla al mismo tiem!o y !odr$a llegar a ser
catastr#ico si tenemos en cuenta que la BD esta siendo consultada
!or %arios internautas al mismo tiem!o.
/ara e%itar situaciones de cola!so' es necesario inde!" c!d! $no
de los c!mpos #$e si"%en de enl!ce ent"e es!s t!&l!s. "n el
ejem!lo de nuestra librer$a %irtual' ya lo hemos dicho' estos cam!os
ser$an id+cliente e id+articulo. 0dems' resulta tambi1n de %ital
im!ortancia el de'ni" esos c!mpos de $n! (o"m! est"ict!mente
id)ntic! en c!d! $n! de l!s t!&l!s' es decir' el cam!o ha de ser
de la misma naturaleza y caracter$sticas. 2o %ale de#inirlo como real
en una tabla y entero en otra o cambiar la longitud mxima !ara los
al#anum1ricos o que en una tabla sea de longitud constante y en otra
%ariable...
"l gestionar inteligentemente estos as!ectos !uede solucionarnos
muchos dolores de cabeza.

3a hemos comentado !or encima los di#erentes ti!os de cam!o
existentes en una base de datos. La eleccin del ti!o de cam!o
a!ro!iado !ara cada caso !uede ayudarnos tambi1n a
o!timizar el tama(o y ra!idez de nuestra base de datos.
La !reguntas que hay que hacerse a la hora de elegir la naturaleza y
dimensiones del cam!o son4
*+,$) tipo de d!to %oy ! !lm!cen!" en el c!mpo- N.me"os/
teto/ (ec0!s111
*+C$2l es el t!m!3o m2imo #$e espe"o #$e p$ed! !lc!n4!"
!l5$no de los "e5ist"os del c!mpo-
5ay que tener en cuenta que cuanto ms margen le demos al %alor
mximo del cam!o' ms aumentar el tama(o de nuestra base de
datos y ms tiem!o tardara en realizar las consultas.
0dems' el #actor tama(o !uede %erse agra%ado si estamos
de#iniendo un cam!o indexado' !ara los cuales' el es!acio ocu!ado es
a!roximadamente del doble.
*n consejo !rctico es que las #echas sean almacenadas en #ormato
de #echa ya que ello nos !ermite reducir el es!acio que ocu!an en
memoria de ms del doble y !or otro lado' !odremos
a!ro%echar las !restaciones que &6L y nuestro lenguaje de ser%idor
nos o#recen. /odremos calcular la di#erencia de d$as entre dos #echas'
ordenar los registros !or #echa' mostrar los registros com!rendidos
en un inter%alo de tiem!o...
"xiste la !osibilidad !ara los cam!os de texto de #ijar una cierta
longitud !ara el cam!o o dejar que cada registro tenga una longitud
%ariable en #uncin del nmero de carcteres que !osea.
"legir cam!os de longitud %ariable nos !uede ayudar a o!timizar los
recursos de memoria de la BD' no obstante' es un arma de doble #ilo
ya que las consultas se realizan ms lentamente
Ing. Nancy Casildo B. 2
17 de noviembre de
2008 [OPTIMIZANDO PRESTACIONES]
!uesto que obligamos a la tabla a establecer cul es el tama(o de
cada registro que se est com!arando en lugar de saberlo de
antemano. "s !or tanto aconsejable' !ara los cam!os
indexados de !eque(o tama(o' atribuirles una longitud #ija.
Ing. Nancy Casildo B. 3

Potrebbero piacerti anche