Un pequeño resumen sobre bases de datos, donde se describen varios motores de bases de datos.
Descripción completa
Descripción: base de datos
Descripción completa
Descripción completa
Todo Sobre Bases de DatosDescripción completa
Full description
Descripción completa
Descripción: Bases de Datos
Descripción: Informacion acerca de bases de datos Centralizadas
Descripción completa
base de datosDescripción completa
Trabajo de base de datos
Descripción completa
Full description
Trabajo de base de datosDescripción completa
Temario Bases de Datos DistribuidasDescripción completa
TECNICAS PARA LA OPTIMIZACION DE BASES DE DATOS
Harold Castaño Giraldo
.
Servicio acioal de a!redi"a#e $Sea% Es!eciali"aci& Tecol&'ica e 'esti& ( se')ridad de *ases de datos +,-
INTRODUCCION
La creaci& de )a *ase de datos/ de!ede de las ecesidades de )a or'ai"aci& ( de s)s de!edecias/ es !or esto 0)e de*e1os de aali"ar las ecesidades ( ade12s de esto de*e1os de esta*lecer ) caso de est)dio dode la !rioridad sea 1ateer/ ad1iistrar ( 1e#orar la *ase de datos.
OPTIMIZACION DE UNA BASE DE DATOS MEDIANTE LA OPTIMIZACION DE UN MOTOR DE BASES DE DATOS
Optimización de bases de datos La o!ti1i"aci& del acceso a los datos es vital !ara el tie1!o de car'a de la !2'ia/ de*ido a 0)e s)ele ser el 3actor 0)e 12s a3ecta al tie1!o 0)e tiee 0)e es!erar el ave'ador !ara reci*ir el HTML. Este tie1!o de es!era e s 1)( i1!ortate/ (a 0)e el resto de rec)rsos de la !2'ia $i12'ees/ scri!ts ( 4o#as de estilo%/ o se e1!ie"a a *a#ar 4asta 0)e el ave'ador o lee el HTML desde el 0)e se 4ace re3erecia a estos rec)rsos.
Este ti!o de o!ti1i"aci& es !ro*a*le1ete la 12s co1!le#a de todas/ e !ri1er l)'ar !or0)e de!ede de dos 3actores varia*les e el tie1!o5 !or ) lado/ de c&1o ( de 0)6 ti!o so las cos)ltas 0)e se va a reali"ar (/ !or otro/ de la car'a de tra*a#o 0)e te'a 0)e so!ortar el servidor o servidores. E se')do l)'ar !or la 'ra catidad de cooci1ietos 0)e 4a( 0)e teer !ara sa*er reescri*ir cos)ltas/ reescri*ir el c&di'o 0)e e#ec)ta las cos)ltas/ crear 7dices/ vistas 1ateriali"adas/ !articioes 4ori"otales ( verticales/ r6!licas/ ta*las de a!o(o/ sa*er ele'ir los ti!os de datos a )sar/ sa*er o!ti1i"ar el es0)e1a si !erder la l&'ica del 1odelo de e'ocio/ sa*er a#)star los !ar21etros de co3i')raci& de l SGBD/ coocer ( sa*er )sar siste1as de cac46 e8teros.
O!ti1i"aci& de cos)ltas Ca1*iar los OR !or IN/ c)ado tee1os 12s de ) valor !ara co1!arar. Mii1i"ar el coste de los 9OIN5 La cocateaci& at)ral o 9OIN es la o!eraci& 12s costosa de las *ases de datos relacioes/ (a 0)e re0)iere reali"ar )a 1)lti!licaci& cartesiaa ( )a selecci& de valores. Al')as t6cicas 0)e !ode1os )sar !ara 1ii1i"ar s) e3ecto cosiste e5 Reordearlos !ara cocatear !ri1ero las relacioes co 1eos 3ilas !ara red)cir el :1ero de cr)ces. Crear s)*cos)ltas e dode se 3iltre o li1ite el :1ero de 3ilas de las relacioes 'rades ates de reali"ar los si')ietes 9OINs. A veces/ dividir )a cos)lta e varias/ es 1e#or 0)e 4acerlo todo co )a sola cos)lta/ de 3or1a 0)e !ode1os o*teer e )a !ri1era cos)lta )os !ocos ideti3icadores 0)e !ode1os !asar co ) IN a la si')iete cos)lta/ e l)'ar de reali"ar ) 9OIN. Ca1*iar los 9OIN !or E;ISTS si o se va a 1ostrar i': dato de la relaci& co la 0)e se reali"a el cr)ce. Teer e c)eta el !ro*le1a del N < -5 El <- se !rod)ce or1al1ete c)ado tee1os ) listado e el 0)e !ara 1ostrarlo co1o 0)ere1os/ !or cada 7te1 ecesita1os reali"ar )a cos)lta adicioal $el 12s )o del <-%. E este caso/ s)ele ser 1e#or reali"ar ) o o varios 9OIN adicioales/ e la cos)lta 0)e rec)!era el listado de 7te1s. De esta 3or1a o*tee1os
el listado tal ( co1o lo ecesita1os/ ( o se tiee 0)e la"ar cos)ltas adicioales !ara cada 7te1. Es!eci3icar sie1!re los o1*res de las col)1as e las SELECT/ si o el SGBD leer2 todas las 3ilas del disco. El asterisco se de*e )sar s7 ( solo s7 se )tili"a CO=NT/ e c)(o caso el SGBD sa*r2 0)e o tiee 0)e leer todas las col)1as. Crear 7dices5 los 7dices !er1ite ) acceso a los datos o sec)ecial 1)c4o 12s r2!ido/ !ero so costosos de crear/ as7 0)e o es coveiete s) )so si tee1os 1)c4as 12s lect)ras 0)e escrit)ras. De*e1os aali"ar el !la de e#ec)ci& de las cos)ltas $cada SGBD tiee s) 1aera de verlo% !ara sa*er d&de de*e1os crear 7dices. Nor1al1ete/ creare1os los 7dices e claves a#eas ( e las col)1as 0)e se )se co ORDER B> o ?HERE. Si se crea 7dices co1!)estos/ se de*e !oer las col)1as e el 1is1o orde 0)e se va(a a )sar e las cos)ltas.
OPTIMIZACION DE BASES DE DATOS CON S!L SER"ER #$%#
El Asistete !ara la o!ti1i"aci& de 1otor de *ase de datos de Microso3t $DTA% aali"a las *ases de datos ( 4ace reco1edacioes 0)e !)ede )sar !ara o!ti1i"ar el redi1ieto de las cos)ltas. P)ede )sar el Asistete !ara la o!ti1i"aci& de 1otor de *ase de datos a 3i de seleccioar ( crear ) co#)to &!ti1o de 7dices/ vistas idi"adas o !articioes de ta*la si ecesidad de coocer detallada1ete la estr)ct)ra de la *ase de datos i el 3)cioa1ieto itero de S@L Server. Co DTA/ !)ede reali"ar las si')ietes tareas. • • • •
Sol)cioar !ro*le1as del redi1ieto de )a cos)lta es!ec73ica O!ti1i"ar ) co#)to 'rade de cos)ltas e )a o varias *ases de datos Reali"ar a2lisis codicioales de e8!loraci& de !osi*les ca1*ios de diseño 37sicos Ad1iistrar el es!acio de al1acea1ieto.
"ENTA&AS
El Asistete !ara la o!ti1i"aci& de 1otor de *ase de datos de Microso3t $DTA% aali"a las *ases de datos ( 4ace reco1edacioes 0)e !)ede )sar !ara o!ti1i"ar el redi1ieto de las cos)ltas. P)ede )sar el Asistete !ara la o!ti1i"aci& de 1otor de *ase de datos a 3i de seleccioar ( crear ) co#)to &!ti1o de 7dices/ vistas idi"adas o !articioes de ta*la si ecesidad de coocer detallada1ete la estr)ct)ra de la *ase de datos i el 3)cioa1ieto itero de S@L Server. Co DTA/ !)ede reali"ar las si')ietes tareas. Sol)cioar !ro*le1as del redi1ieto de )a cos)lta es!ec73ica O!ti1i"ar ) co#)to 'rade de cos)ltas e )a o varias *ases de datos Reali"ar a2lisis codicioales de e8!loraci& de !osi*les ca1*ios de diseño 37sicos
Ad1iistrar el es!acio de al1acea1ieto eta#as del Asistete !ara la o!ti1i"aci& de 1otor de *ase de datos La o!ti1i"aci& del redi1ieto de las cos)ltas !)ede ser di37cil si ) cooci1ieto co1!leto de la estr)ct)ra de la *ase de datos ( de las cos)ltas 0)e se e#ec)ta e ella. El Asistete !ara la o!ti1i"aci& de 1otor de *ase de datos !)ede 3acilitar esta tarea 1ediate el a2lisis de la 1e1oria cac46 de !la de cos)lta act)al o de la car'a de tra*a#o de las cos)ltas de TrasactS@L 0)e crea/ ( co la reco1edaci& de ) diseño 37sico adec)ado. Para ad1iistradores de *ases de datos 12s ava "adas/ DTA e8!oe ) 1ecais1o e3ica" !ara reali"ar a2lisis codicioales de e8!loraci& de di3eretes alterativas de diseño 37sico. DTA !)ede !ro!orcioar la si')iete i3or1aci&. •
•
•
•
•
•
Reco1edar la 1e#or co1*iaci& de 7dices !ara las *ases de datos 1ediate el )so del o!ti1i"ador de cos)ltas !ara aali"ar las cos)ltas de )a car'a de tra*a#o. Reco1edar !articioes alieadas ( o alieadas !ara las *ases de datos a las 0)e se 4ace re3erecia e )a car'a de tra*a#o. Reco1edar vistas idi"adas !ara las *ases de datos a las 0)e se 4ace re3erecia e )a car'a de tra*a#o. Aali"ar los e3ectos de los ca1*ios !ro!)estos e as!ectos tales co 1o el )so de 77dices/ la distri*)ci& de cos)ltas etre ta*las ( el redi1ieto de las cos)ltas de la car'a de tra*a#o. Reco1edar 16todos !ara o!ti1i"ar la *ase de datos co res!ecto a ) !e0)eño co#)to de cos)ltas !ro*le12ticas. Per1itirle !ersoali"ar la reco1edaci& 1ediate la es!eci3icaci& de o!cioes ava"adas co1o/ !or e#e1!lo/ las restriccioes de es!acio e disco.
LIMITANTES
El asistete os li1ita/ E 0)6 •
•
•
•
No !)ede a're'ar o 0)itar 7dices :icos o 7dices 0)e a!lica restriccioes PRIMAR> E> o =NI@=E. No !)ede aali"ar )a *ase de datos 0)e est6 co3i')rada e 1odo de )s)ario :ico. Si es!eci3ica ) es!acio e disco 128i1o e las reco1edacioes de o!ti1i"aci& 0)e s)!ere el es!acio dis!oi*le real/ el Asistete !ara la o!ti1i"aci& de 1otor de *ase de datos )sa el valor es!eci3icado. Si e1*ar'o/ al e#ec)tar el scri!t de reco1edacioes !ara i1!le1etarlo/ el scri!t !)ede 'eerar ) error si ates o se a're'a 12s es!acio e disco. El es!acio e disco 128i1o !)ede es!eci3icarse 1ediate la o!ci& B de la )tilidad dta o es!eci3icado ) valor e el c)adro de di2lo'o O!cioes ava"adas de o!ti1i"aci&. Por 1otivos de se')ridad/ el Asistete !ara la o!ti1i"aci& de 1otor de *ase de datos o !)ede o!ti1i"ar )a car'a de tra*a#o de )a ta*la de se')i1ieto 0)e resida e ) servidor re1oto. Para evitar esta li1itaci&/ !)ede )sar ) arc4ivo de
•
•
se')i1ieto e l)'ar de )a ta*la de se')i1ieto o co!iar la ta*la de se')i1ieto e el servidor re1oto. Al i1!oer restriccioes/ co1o las i1!)estas al es!eci3icar el es!acio e disco 128i1o e las reco1edacioes de o!ti1i"aci& $1ediate la o!ci& B o el c)adro de di2lo'o O!cioes ava"adas de o!ti1i"aci&%/ el Asistete !ara la o!ti1i"aci& de 1otor de *ase de datos !)ede verse 3or"ado a 0)itar al')os 7dices e8istetes. E ese caso/ la reco1edaci& res)ltate del Asistete !ara la o!ti1i"aci& de 1otor de *ase de datos !)ede !rod)cir lo cotrario a la 1e#ora es!erada. Al es!eci3icar )a restricci& !ara li1itar el tie1!o de o!ti1i"aci& $1ediate la o!ci& A co la )tilidad dta o activado Li1itar tie1!o de o!ti1i"aci& e la !estaña O!cioes de o!ti1i"aci&%/ el Asistete !ara la o!ti1i"aci& de 1otor de *ase de datos !)ede e8ceder ese l71ite de tie1!o !ara 'eerar la 1e#ora es!erada e8acta e i3or1es de a2lisis de la !arte de la car'a de tra*a#o 0)e se 4a cos)1ido 4asta a4ora.
CAC'EAR LAS CONSULTAS MAS (RECUENTES
Activar la cac46 de *ase de datos del SGBD a veces !)ede e1!eorar el redi1ieto. Esto de!ede del vol)1e de datos al 0)e se acceda 12s 3rec)ete1ete. Si el vol)1e de datos es alto ( se act)ali"a 3rec)ete1ete/ estare1os sie1!re escri*iedo e la cac46 e l)'ar de leer de ella. As7 0)e or1al1ete es !re3eri*le rec)rrir a ) siste1a de cac46 e8tero/ e el c)al !oda1os cotrolar 0)e se va a cac4ear real1ete los datos 12s 3rec)etes ( 12s 3rescos. Si el siste1a de cac46 o os !rovee de esta 3)cioalidad/ !ode1os i1!le1etarla osotros. =a *)ea 3or1a de 4acerlo si el so*recoste de al1acear el :1ero de veces 0)e se accede a )a cos)lta/ es 'eerar ) :1ero aleatorio ( cac4ear la cos)lta si ese :1ero !asa de cierto valor. Por e#e1!lo/ s)!o'a1os 0)e 'eera1os ) :1ero aleatorio etre - ( -,, ( la cos)lta se cac4ea si dic4o :1ero es 1eor 0)e -,/ de esta 3or1a se ')ardar2 la cos)lta e cac46 co )a !ro*a*ilidad del -,F e cada !etici&/ as7 si la cos)lta tiee 12s !eticioes/ ser2 12s !ro*a*le 0)e se ')arde e cac46.