I.IntroducciónLasBasesdeDatossehanconvertidoenunelementoprimordialenelámbitoempresarial,yaquealmacenanlainformaciónrelacionadaconelprocesobásicodelaorganización,yparapodercumplircorrectamentesufunciónsedebenasegurarciertascaracterísticascomoson:laescalabilidad,seguridaddelainformaciónytenerunbuenrendimiento[1].Sepuedemedirelrendimientodeunabasededatosentérminosdetiempo,haciendoreferenciaaltiempoquetomaalservidordebasededatosresponderunasolicitudorequerimientodeinformaciónsolicitadaporuncliente[2].Entalsentido,escrucialparalaempresaqueeltiempoderespuestaalosdatosqueserequierendelabasededatosseaelmínimoposibleparaquepuedanatendersolicitudesenmenortiempoloquesetraduceenmayorcantidaddeclientesatendidos,yquetieneunimpactodirectoenlaeconomíadelaempresa.Eldiseñodelabasededatosobedeceesencialmenteaquesedebeasegurarelalmacenamientoyrecuperacióndetodoslosdatosquelaempresarequiereparalaautomatizacióneficientedelprocesoelegido[3].Existencuatrooperacionesquedeberealizarelservidordebasededatos:registro,actualización,eliminaciónyconsultadedatos;siendolaúltimaoperaciónlamásutilizada[4].Laoperacióndeconsultadedatosespotencialmentemásutilizadaenaquellossistemasinformáticosquetrabajancondatosconfidenciales,comosonsistemasparaentidadesfinancieras,sistemasparaeláreadesaludysistemasparaidentificacióndepersonasquemanejanmilesdetransaccionesdedatosaldía”[5].deconsultasSQLesrápido,perocuandolabasededatosllevauntiempofuncionandoylacantidadderegistrosalmacenadosesbastantegrande,llegandoatenerenunatablahastamillonesderegistros,eltiempodeaccesoesbastantelentoloquehacequeelsistemainformáticotardevariossegundosenconseguireldatorequerido.Lascompañíastienencomorequerimientoesencialparalosservidoresdebasesdedatosrelacionaleslaobtencióndenuevosdatosenmilisegundos;requerimientoquemuchasvecesnosealcanzaporlimitacionesdehardwareolaescasapreparacióndelpersonalresponsabledelservidor.Esenestepunto,dondejuegaunavitalimportanciautilizartécnicasdeoptimizacióndebasededatosquepermitanagilizarlasconsultasdedatos.Laoptimizacióndebasededatospuedeserabordadadedosdiferentesmaneras:basadaeneldiseñofísicoybasadaenparámetrosdeconfiguración[5].Laprimeraaludealaformaencómoserealizaeldiseñodelabasededatosencontrandoenlaseleccióneficientedeíndicesunindicadordeoptimización,lasegundabuscaelegirlosparámetrosdeconfiguraciónapropiadoscomosonlaasignacióndememoriaylaadministracióndeprocesamiento[5].Tambiénesimportanteabordarlaoptimizacióndeconsultasquepermitanahorrarcostosdeprocesamiento[6].DeestamaneraesnecesariodiseñarconsultasSQLquedevuelvandatosespecíficosyquerealicenlamenorcantidaddeoperacionesparaquepuedanteneruntiempoderespuestamenor.Sedebetenerencuentaquelasconsultasescritasdeformadeficiente,degradanelrendimientodelabasededatos,porello,actualmenteseaplicanalgoritmosdebúsquedaaleatoriacomoelalgoritmodecoloniadehormigasyelalgoritmodeenjambredepartículasquehanpermitidoobtenerresultadosfavorablesparaciertoscontextosespecíficoscomoeselproblemadelaoptimizacióndeconsultasdebasededatosparasistemasintegradosysistemadebúsquedasdepalabrasclave[7][8].ElproyectodeinvestigacióntienecomoobjetivodeterminarbuenasprácticasparalaOptimizacióndeBasedeDatosutilizandoMicrosoftSQLServer,planteándosecomohipótesisque,siseejecutanestasbuenasprácticas,lostiemposderespuestasdelasconsultasrealizadasalabasededatosseránmenores.30Maquen et al. Buenas prácticas para la optimización de base de datos relacionales usando Microsoft SQL II.DesarrolloSehanabordadotécnicasyrecomendacionesrelacionadasalacreacióndebasededatosyalassentenciasdeconsultaSQLquepermitiránmejorareltiempoderespuestadelabasededatos.A.BuenasprácticaspropuestasparalaoptimizacióndeBasededatos:ÍndicesenlacreacióndetablasLosíndicesasignadosquesepuedencrearenunatablapuedenserdedostipos:agrupados(clustered)ynoagrupados(nonclustered)quepermitanreducirtiemposdeesperaalmomentoderealizarunaconsulta.[9].SedebetenerencuentaqueMicrosoftSQLServerpermitetenersolouníndiceagrupadoportabla,portanto,losdemásíndicesquesecreendeberánserdetiponoagrupados.Cuandosecreaunaclaveprimariaenunatabla,pordefectoSQLServercreauníndiceagrupado[10].Sinembargo,cuandocreamosclavesforáneas,pordefectoSQLServernocreaningúníndice.Siseanalizaelcontexto,lasclavesprimariasnonecesariamentesonaquellasqueseutilizanenlosordenamientosdelasbúsquedas,comoporejemploenelcasodelatablaCliente,nosebuscaporsucódigosinoporApellidosyNombres,siendoenestoscasosmásútilcrearuníndiceagrupadocompuestoporapellidosynombres.Enresumen,elíndiceagrupadosedebedecrearenlascolumnasdeaquellastablasquesonfrecuentementeutilizadasenlasconsultasdebúsqueda,enordenamientosy,enúltimocaso,utilizadasencomparacionescontinuas.Conrespectoalosíndicesnoagrupados,aunquetambiénayudanadisminuirtiemposderespuestas,sonmenoseficientes,yteniendoencuentaqueunatablasolopuedeteneruníndiceagrupado,sedebencrearíndicesnoagrupadosenlascolumnasqueseutilizanpararealizarcomparaciones,comoporejemploenclavesprimariasyclavesforáneassipreviamentenoseleshageneradouníndiceagrupado.Porotrolado,esimportantenoabusardelacreacióndeíndicesporqueafectannegativamentelasoperacionesdeinserción,actualizaciónyeliminacióneincrementaeltamañodebasededatosyporlotantodelacopiadeseguridad[11],sinembargo,mejoraneltiempoderespuestadelasconsultasconreunionesyagilizanlascomparaciones.ColumnascalculadasLascolumnascalculadasvienenaseruncampodentrodeunatablaqueguardanresultadosdeoperacionesmatemáticas(precálculos)conotroscampos[12],loquebeneficiaelrendimientoyaqueevitarealizaroperacionesparaobtenerdichosvalores.Lautilizacióndecolumnascalculadasacortalostiemposderespuestadelasconsultas,aunqueafectanegativamentelasoperacionesdeinserciónyactualizacióndelosdatosinvolucradosdebidoalcálculonecesarioparamantenerlacoherenciadelosdatos.OperadoresadecuadosylistadodecolumnasenconsultasrealizadasEsimportanteelegircuidadosamentelosoperadoresqueseutilizanenlasconsultasporquedependiendodelaestructuradelabasededatosyenespecialdesusíndiceslostiemposderespuestapuedenvariarconsiderablemente.Esnecesario,segúnseaelcaso,elegireloperadoradecuadocuandoexistenoperadorquerealizanfuncionessimilarescomoeselcasodeloperadorEXISTS/NOTEXISTSyeloperadorIN/NOTIN.EnlascláusulasGROUPBYyORDERBYdeserposiblesedebeutilizarcolumnasynooperacionesparapermitiraloptimizadordeconsultasdelservidordebasededatoselegirlosíndicesapropiadosenbeneficiodeunmejorrendimiento.Asímismo,evitarutilizareloperador*31Maquen et al. Buenas prácticas para la optimización de base de datos relacionales usando Microsoft SQL ÍcuandoserealizalasentenciaSELECTydepreferencialistarcamposespecíficosquesedesean;aunqueestopareceseralgoobvioesunamalaprácticamuydifundidaenlosprogramadores.B.AntecedentesdelaInvestigaciónLaoptimizacióndebasesdedatosesenlaactualidadunanecesidadimperativaparalasempresas;lacualesutilizandiferentesenfoquesparaobtenertiemposmínimosenlaejecucióndeórdenesSQL.Aunquealiniciodelasoperacionesestanecesidadpasadesapercibidaeinclusoabordadadeformadescuidadaporlosresponsablesdeldiseñoeimplementacióndelasbasesdedatos;conelcorrerdeltiempoyconelcrecimientodelosdatosalmacenados,sepuedecomprobarunincrementopreocupanteenlostiemposderespuesta[13].Hoyendíaaniveldehardware,losservidoressonmuyavanzadosteniendocomoprioridadsucapacidaddeprocesamiento,enfatizandoencadaunodelosaspectosrelacionados:velocidadycantidaddeprocesadores,velocidadycantidaddeRAMasícomovelocidaddeaccesoalasunidadesdealmacenamientoentreotros.InclusosedisponedeherramientascomoRAIDdediscosdurosoarquitecturascomplejasparaimplementarservidoresdistribuidosparaobtenermejorrendimiento.Detalmaneraquealmejorarlacapacidaddeprocesamientodelosservidoresmejoranlostiemposderespuestadelasconsultasalabasededatos.Hayunincrementodeinvestigacionesenentornosdistribuidosparalaoptimizacióndebasededatos.EnentornosdemúltiplesprocesadoresseaplicanlaoptimizacióndeconsultasparalelasenelservidorOLAP(aplicacióndesoportededecisiones)paraencontrarunplanparaleloqueentregueelresultadodelaconsultaenuntiempomínimo[14].Enlaoptimizacióndeconsultasseestántendiendoausaralgoritmosprobabilísticosparamejorarlavelocidadenlaobtenciónderesultados.UnalgoritmousadoeselSDD-1yjuntoconelmétodoSemi-JOINpermiteunincrementoenlavelocidaddelaconsultadehastaun300%[4].OtroalgoritmousadoeselalgoritmodeAscensióndecolinaquejuntoconunaadecuadaindexaciónymétodosdeoptimizacióndeconsultasensubprocesosmúltiplessereduceeltiempodeconsultaen45%encomparaciónconotrosmétodostradicionales[15].LasempresaspropietariasdelossistemasgestoresdebasesdedatosrelacionalesparaafrontarlalentituddesusoperacionesproporcionanunaherramientadedicadaagenerartiemposderespuestasmínimosllamadaMotordeOptimizacióndeConsultas.Estemotorutilizacomoinsumoslametadatadelastablas(índices,tiposdeíndicescreados,columnasclavedelosíndices,archivosyubicacióndelosmismos)asícomodelasestadísticasalmacenadasdecadaunadeellasparaelegirlarutadeejecuciónmáseficiente,lacualsedenominaPlandeEjecución[16].Lassolucionesbasadasenhardwarepermitenaumentarlacapacidaddeprocesamiento,peroinvolucranunaltocosteenlacompradeequiposapropiadosycontratarpersonalaltamentecapacitadoennuevastécnicasdeejecucióndeconsultasalabasededatos.Sinembargo,unasoluciónconmenorcostoseríalaoptimizacióndeconsultasalabasededatos.LosoptimizadoresdeconsultasutilizanlascaracterísticasdelÁlgebraRelacionalparareordenarlosoperadores(selección,proyección,unión,reuniones,entreotros)conelobjetivodedisminuirlacantidaddedatosinvolucradosenlaimplementacióndelasoperacionessolicitadas;enespeciallasolicituddedatos(operaciónmásutilizadaporlossistemas).Disminuirlacantidaddedatosesimportanteporquereducelosaccesosalabasededatosynecesitamenorvelocidaddetrasmisióndedatos.32Maquen et al. Buenas prácticas para la optimización de base de datos relacionales usando Microsoft SQL Existeenelmercadosoftwarelicenciadoquepermiteoptimizarbasededatos;comosonSQLDeveloperque“analizaelrendimientodeunasentenciaSQLparamostrarunplandeejecuciónconinformaciónestimadayreal”[17].TOADesotraherramientaquesirveparaanalizarelrendimientodeunaconsultaquesebaseenelplandeejecuciónparatrabajarparámetrossinestimaciónqueluegoseránvisualizadosporelusuario.[17].Atravésdelusodeherramientasinformáticasparaoptimizarbasededatospodemosobtenerunplandeejecuciónqueconllevaríaaunareduccióneneltiempodelaconsulta;sinembargo,haceusointensivodelCPUporloquesinosecuentaconhardwareadecuadopuedeconllevaraunincrementodeltiempotranscurrido;porloqueelusopermanentedeestasherramientasenservidoresdeproducciónnoesrecomendado.Otraopciónparamejorarlostiemposderespuestaesutilizarlatécnicadeoptimizaciónbasadaencostoconsistenteenutilizarlasestadísticasdelosdatosalmacenadosenlastablasoíndicescreados[18].Ambosmétodospuedencombinarseparagenerarmejoresresultados.Aunquelosmotoresdeoptimizaciónesténimplementadosconlosmejoresalgoritmosfinalmentesondependientesdelaspersonasquediseñanlasbasesdedatosylasquediseñanlasconsultas.Esimportanteporlotantoutilizarbuenasprácticasparaeldiseñofísicodebasededatos,asícomolacorrectautilizacióndelosoperadoresdeunaconsultaexplotandodeestamaneralascaracterísticaspropiasdecadaservidor[19].III.METODOLOGÍAConelobjetivodemostrarlasmejorasenelrendimientodelasoperacionesdeconsultasehancreadodosbasesdedatosdeventas;unaqueactuarácomobasededatosexperimentalaquienseleaplicaránlastécnicasdeoptimizacióndebasededatosyotraqueactuarácomobasededatoscontrol.Ladatautilizadapararealizarelllenadodelasbasesdedatosessimuladaysehageneradomediantescript.Ambasbasesdedatostienenlamismaestructura,contienendocetablasqueseindicanacontinuación:33Tabla1.TablasdelaBasedeDatosdeVentaNota:Cantidaddefilas(registros)decadatabladelabasededatosdeVenta,lastablasquetienenmillonesderegistrosfueroninsertadospormediodescriptMaquen et al. Buenas prácticas para la optimización de base de datos relacionales usando Microsoft SQL Conelobjetivodeobtenerdiferentesmedicionesdelasconsultas,éstasseejecutaronencomputadorescondiferentesconfiguraciones,lascualessedetallanacontinuación:Equipo01,Tipo:Laptop,Procesador:Corei56200U2.30GHz,RAM:8GB,Discoduro:1TB5400rpm,Sistemaoperativo:Windows10Prox64.Equipo02,Tipo:Laptop,Procesador:Corei52.20GHz,RAM:6GB,Discoduro:1TB5400rpm,Sistemaoperativo:Windows8.1Pro.Equipo03,Tipo:Desktop,Procesador:Corei523203.30GHz,RAM:8GB,Discoduro:1TB5400rpm,SistemaOperativo:Windows10Enterprisex64.Enlastrescomputadorassehancreadolasdosbasesdedatos:basededatosconvaloresdeconfiguraciónpordefecto,ylabasededatosoptimizadaconbuenasprácticas.Luegosediseñaron10consultasquepermitieranaccederalastablasqueteníanmayorcantidadderegistros,lascualessedetallanacontinuación:•Listadodelosclientesmorosos•Listadodelosmodelosdeproductosmásvendidosduranteelaño2016•Listadodelos10trabajadoresquemáshanvendidoenelúltimotrimestredelaño2016•Estadodecuentadeuncliente•Listadodelosmodelosdeproductosquenosehanvendidoduranteelaño2017•Listadodeingresosportrabajadorenelaño2015•Indicarlosclientesquedebenpagardetallandoelmontoparaunmesyañodeterminado•Listadodelostrabajadoresyelnúmerodedocumentosanuladospormesparaelaño2016.•Cuálessonlostrabajadoresquenohanrealizadoventasenelprimertrimestredelaño2017.•Evolucióndeingresospormedioenlosaños2011hastael2016Estasconsultasfueronejecutadasconlafinalidaddemedireltiempoderespuestadelabasededatospordefecto(BDcontrol)ybasededatosoptimizada(BDexperimental)yposteriormentepodercompararlos.Encadacomputadorasehanejecutadoestasdiezconsultasacadabasededatos:experimentalycontrol,realizándoselaejecución4vecessimultáneasyobteniendounpromediodeestasejecucionessimultáneasporcomputadora.Posteriormentesehanpromediadolosresultadosdelastrescomputadoras,obteniéndoseunsolovalor(promedio)porcadaconsulta.IV.ResultadosParapodercorroborarlaoptimizacióndeunabasededatos,sehanaplicadobuenasprácticassoloalaBasedeDatosoptimizada(experimental),quesedetallanacontinuación:ÍndicesenlacreacióndetablasEnlabasededatosoptimizada(basededatosexperimental)sehancreadoíndicesagrupadosenlasclavesforáneasdelastablas:Cuota,CuotaPago,Pago,DetalleVentayModelo.Tambiénsehacreadoíndicesagrupadosencolumnasquesonfrecuentementebuscadasperoquenosonclavesforáneasniclavesprimarias,enlastablasde:Categoría,Cliente,Producto,Trabajador.EnlatablaCategoríaseha34Maquen et al. Buenas prácticas para la optimización de base de datos relacionales usando Microsoft SQL colocadoíndiceagrupadoalacolumnanombre,enlatablaClienteuníndicecompuestoporapellidosynombres(eneseorden),enlatablaProductoalacolumnanombreyenlatablaTrabajadoralacolumnacompuestaporapellidosynombres.Porúltimo,sehacreadoíndiceagrupadoalaclaveprimariadelacolumnacódigoenlatablaVenta,porquecuandosequiererealizarunabúsquedadeunpagoodelascuotasdeunpago,elcriteriodebúsquedaprincipaleselcódigodeventa,siendouncasoexcepcionalqueobedeceaquesedebedeclararcomoíndiceagrupadoaquellascolumnasqueseusenfrecuentementeenlabúsquedayordenamientodedatos.Conrespecto,alosíndicesnoagrupados,sehanasignadoalasclavesprimariasdelassiguientestablas:Categoría,Cliente,Cuota,CuotaPago,DetalleVenta,Modelo,Pago,Producto,Trabajador.Adicionalmentesehancreadomásdeuníndicenoagrupadoenunamismatablaen:DetalleVenta,Modelo,Pago,ProductoyVenta.LatablaVentaportenercamposqueseconsultanfrecuentemente,tieneunaconfiguracióndiferentealasdemástablas,asignándoseleíndiceagrupadoalaclaveprimaria(código)yasignándosedosíndicesnoagrupadosalasclavesforáneas(CodigodeClienteyCodigodeTrabajador).ColumnascalculadasSehacreadounacolumnadenominadaTotalenlatablaVenta.Estacolumnacontieneelpagototaldeldocumentodeventa;esdecirlasumatoriadelamultiplicacióndelpreciodeventaylacantidadvendidadecadaproducto.OperadoresadecuadosylistadodecolumnasenconsultasrealizadasConelobjetivodemejorarelrendimientodelasconsultasalabasededatossehautilizadoeloperadorEXISTS/NOTEXISTSenvezdeloperadorIN/NOTIN.EnlacláusulaORDERBYsehaoptadoporutilizarcolumnasenlugardeoperaciones(concatenaciones).Estecambiofavorecelautilizacióndelosíndices.EnlacláusulaSELECTsehalistadolascolumnasdeunadeterminadatablaenreemplazodeloperador*.PosteriormentesehanmedidolostiemposderespuestadelaejecucióndecadaunadelasdiezconsultasalaBDcontrolyalaBDexperimental,conformesehadetalladoenlametodología.Parapoderhacerlascomparacionesrespectivassehacreadounatabladondeseagrupanlasconsultasen:Categoría1(ConsultasconmejorestiemposenBDOptimizada)yCategoría2(ConsultasconmejorestiemposenBDpordefecto).35Tabla2.Promediosdetiemposdeejecuciónenmilisegundosdelasdiezconsultasagrupadosendoscategorías,enlaBDconconfiguraciónpordefecto(control)ylaBDoptimizada(experimental)Nota:EnlaCategoríaIseubicanlasconsultasquetuvieronmenortiempoderespuestaenlabasededatosexperimentalyenlacategoríaIIseubicanlasconsultasquetuvieronmejortiempoderespuestaenlabasededatoscontrol.Maquen et al. Buenas prácticas para la optimización de base de datos relacionales usando Microsoft SQL EnlatablaanteriorsepuedeapreciarqueenlaCategoríaII,sehaobtenidounasituacióndesfavorableparalainvestigaciónyaquelabasededatosconconfiguraciónpordefectoeslaquehaobtenidomejorpromedioquelaversiónoptimizadayestosedebeaquéenlasconsultasdelaCategoríaII(consultas03,07y08)serealizaprocesamientoprevioenlascolumnasdetipofecha,porejemplo,obtenereltrimestreenunañoespecífico,ylascolumnasdefechasnocontienenningúníndice.Posteriormente,serealizóelcálculodelasmedidasdedispersión(x),ladesviaciónestándar(s)ydelcoeficientedevariación(CV)delasdosbasesencadaunadelascategorías.Tabla3.Medidasdedispersióndetiemposdeejecucióndelasdiezconsultasagrupadosendoscategorías,enlaBDconconfiguraciónpordefecto(control)ylaBDoptimizada(experimental)36Nota:Medidasestadísticaspromedio,desviaciónestándarycoeficientedevariacióndelostiemposobtenidosenlabasededatoscontrolyenlaexperimental.Elcoeficientedevariaciónesmenorenlabasededatosoptimizadaqueenlabasededatosconconfiguraciónpordefecto,entalsentidopodemosestablecerquelostiemposdeejecuciónenlabasededatosoptimizadatuvieronvaloresmáshomogéneosquelosdelabasededatosconlaconfiguraciónpordefecto.ConclusionesLacreacióndelabasededatosdebeimplicarnosólolasatisfaccióndelosrequerimientosfuncionalesquedaránsoportealsistemasinotambiénlautilizacióndebuenasprácticasquepermitanafrontarlosdesafíosdetiempoderespuestacuandolabasededatoscrezcayllegueatenermillonesderegistros.Sellegaalaconclusiónquelasbuenasprácticasparaoptimizarunabasededatosbasadosensoftwaresecentranen:crearíndicesagrupadosencolumnasqueseutilicenconmayorfrecuenciapararealizarordenamientos,búsquedasomuchascomparaciones;crearíndicesnoagrupadosencolumnasqueseutilicenparahacercomparacionesyquenoseleshayaasignadoanteriormenteíndicesagrupados,entalsentido;entablasquetenganclavesforáneasalasquealgunadeellasseleshaasignadoíndiceagrupado,laclaveprimariaseráasignadacomoíndicenoagrupado;enlatablaquetengaclavesforáneasperoquealgunaotracolumnahayasidoasignadocomoíndiceagrupado,tantoclaveforáneacomoclaveprimariaseráníndicesnoagrupados;enlastablasquenotenganclaveforánealaclaveprimariaseráasignadacomoíndiceagrupado;utilizarcolumnascalculadasquetenganregistrosresultantesdeoperacionesdeotroscamposyquesonfrecuentementebuscadosyutilizaroperadoresylistadodecolumnasadecuadasenunaconsulta,todoello,ayudaadisminuirlostiemposderespuestasdelasconsultas,sinembargo,tambiénsedebehacerusorestringidodelacreacióndeíndicesporqueafectanalasoperacionesdeinserción,actualizaciónyeliminaciónenlabasededatos,yaquedelas10consultasejecutadastanto,enlabasededatosexperimentaloptimizadaconlasbuenasprácticasantesmencionadas,comoenlabasededatosconconfiguraciónpordefecto,seobtuvoquesieteMaquen et al. Buenas prácticas para la optimización de base de datos relacionales usando Microsoft SQL consultasdemostraronresultadosfavorablesencuantoamenortiempoderespuestaytresconsultasmostraronresultadosdesfavorablesporqueobtuvieronmayortiempoderespuesta,estosepuedeatribuiraquelasconsultasqueobtuvieronresultadosdesfavorablesrealizanprocesamientoprevioenlascolumnas,porejemplountrimestreenunañoespecífico,ylascolumnasdefechasnocontienenningúníndice.Porúltimo,sedeberealizarusorestringidoenlacreacióndeíndicestantoagrupadoscomonoagrupados,yaqueafectanelrendimientodelasoperacionesdeinserción,actualizaciónyeliminacióndentrodeunatabladelabasededatos.AgradecimientosElpresenteproyectofuerealizadoconelapoyodelBach.WalterVenturaChozo,ResponsabledelLaboratoriodeCómputodelaEscuelaProfesionaldeIngenieríaenComputacióneInformática;quiénnosfacilitóelaccesoaloslaboratoriosparaejecutarlaspruebasdiseñadasalasbasesdedatosutilizadas.LimitacionesSeharealizadolaejecucióndeconsultasentrescomputadorascondiferentescaracterísticaslocualpuedesesgarelresultadofinal,atenuandoestesesgoconlaejecuciónconsecutivadehastaen04(cuatro)oportunidades,obteniendounpromediodelostiemposderespuestaporcadaconsulta.Referencias[1]C.M.Ricardo,Basesdedatos,Segundaed.,Mexico:McGraw-Hill,2009.[2]R.ElmasriyS.B.Navathe,SistemasdeBasesdeDatos:ConceptosFundamentales,Segundaed.,España:Addison-WesleyIberoamericana,1997.[3]Microsoft,"SQLServerDatabaseEngine,"2012.[Online].Available:https://msdn.microsoft.com/es-es/library/ms187875(v=sql.110).aspx.[AccessedAgosto2015].[4]A.Zulfikar,H.SpitsWarnas,F.Gaol,E.AbdurachmanyB.Soewito,«Laoptimizacióndeconsultasparabasesdedatosdistribuidasutilizaunenfoquebasadoensemiuniones(SBA)conelalgoritmoSDD-1,»Conferenciainternacionalsobreinformaciónde2019andCommunicationsTechnology(ICOIACT),pp.619-623,2019.[5]A.SamsonyA.Aponso,«AnAnalysisonAutomaticPerformanceOptimizationinDatabaseManagementSystems,»2020WorldConferenceonComputingandCommunicationTechnologies(WCCCT),pp.6-9,2020.[6]J.Murlewski,T.Kowalski,R.Adamus,B.SakowiczyA.Napieralski,«Optimizacióndeconsultasenbasesdedatosdecuadrícula,»14thInternationalConferenceonMixedDesignofIntegratedCircuitsandSystems,pp.707-710,2007.[7]J.Xu,«Análisisdeoptimizacióndinámicadelosresultadosdeconsultasdepalabrasclaveenbasesdedatosrelacionalesbasadasenelalgoritmodeoptimizacióndecoloniasdehormigas,»Conferenciainternacionalsobretecnologíainformática,electrónicaycomunicación(ICCTEC),pp.721-724,2017.[8]X.Mingyaoyl.Xiongfei,«Algoritmodeoptimizacióndeconsultasdebasesdedatosintegradasbasadoenoptimizacióndeenjambredepartículas,»SéptimaConferenciainternacionalsobretecnologíademediciónyautomatizaciónmecatrónica,pp.429-432,2015.[9]J.L.JordenyD.Weyn,MCTSMicrosoftSQLServer2005ImplementationandMaintenanceStudyGuide,EEUU:WileyPublishing,2006.[10]P.DeBetta,IntroducingSQLServer2008,EEUU:MicrosoftPress,2008.[11]R.MistryyS.Misner,IntroducingMicrosoftSQLServer2012,EEUU:MicrosoftPress,2012.[12]O.ThomasyI.McLean,TrainingKitOptimizaciónyMantenimientodeunaSolucióndeAdministracióndeBasedeDatosMicrosoftSQLServer2005,Madrid:AnayaMultimedia,2006.[13]M.G.VarasBeltrán,«CreacióndeunmodelodeoptimizaciónparalosQueryutilizandolasentenciaSELECTdeSQL,»Quevedo,2014.[14]S.Deepak,S.Kumar,M.DurgeshyPBK,«Procesamientodeconsultasyoptimizacióndelsistemadebasesdedatosparalelasenentornosdemúltiplesprocesadores,»SextoSimposiodeModeladodeAsiade2012,pp.191-194,2012.37Maquen et al. Buenas prácticas para la optimización de base de datos relacionales usando Microsoft SQL [15]X.Sun,B.JiangyX.He,«Optimizacióndeconsultadebasededatosbasadaengeneracióndeenergíafotovoltaicadistribuida,»2ndIEEEAdvancedInformationManagement,Communications,ElectronicandAutomationControlConference(IMCEC),pp.2382-2386,2018.[16]J.RuizRangel,«Procesamientoyoptimizacióndeconsultas,»JournalofEngineeringandTechnology,vol.3,nº2,pp.36-43,2014.[17]R.GarcíaFrutos,«Optimizacióndeconsultasenbasesdedatosrelacionales,»Madrid,2016.[18]E.RamasFerrández,«Optimizacióndeconsultasabasesdedatosrelacionales,»Zaragoza,2017.[19]P.QuiñonezVilla,«ImplementaciondeunabasededatosSQLServer,»2013.[Enlínea].Available:http://es.slideshare.net/paulquinonez3/implementacion-de-una-base-de-datos.[Últimoacceso:Agosto2016].38LosAutoresGisellaLuisaElenaMaquenNiñoDoctoraenCienciasdelaEducaciónconmenciónenAdministracióndelaEducación.EstudiosdedoctoradoenCienciasdelaComputaciónySistemas,UniversidadSeñordeSipán.IngenieroenComputacióneInformática,UniversidadPedroRuizGallo.Filiación:UniversidadPedroRuizGallo–Perú.E-mail:gmaquenn@unprg.du.pe,ORCID:https://orcid.org/0000-0002-9224-5456.FranklinEdinsonTeránSantaCruzMaestroenIngenieríadeSistemasconmenciónenGerenciadetecnologíasdelainformaciónygestióndelsoftware.IngenieroenComputacióneInformática,UniversidadNacionalPedroRuizGallodeLambayeque–Perú.Filiación:UniversidadNacionalPedroRuizGallodeLambayeque–Perú.E-mail:fteran@unprg.edu.pe,ORCID:https://orcid.org/0000-0002-3197-7979.ConsueloIvonneDelCastilloCastroDoctoraenEducación,MagisterenIngenieríadeSistemasconmenciónenGerenciadeTecnologíasdelaInformación,IngenieraenComputacióneInformática.MicrosoftCertifiedProfessional.DocenteadscritoalDepartamentoAcadémicodeComputaciónyElectrónicadelaUniversidadNacionalPedroRuizGallodeLambayeque-Perú..E-mail:cdelcastilloc@unprg.edu.pe,ORCID:https://orcid.org/0000-0002-1512-006XRafaelDamiánVillónPrietoIngenierodeSistemas,LicenciadaenEducaciónSecundaria:Matemática,ComputaciónEInformática,MaestroenGestiónPública,DoctorenGestiónPúblicayGobernabilidad.DocentecontratadoenlaUniversidadCesarVallejoSACenlaescueladePosgradodeLambayeque–Perú.E-mail:villonpr@ucvvirtual.edu.pe,ORCID:https://orcid.org/0000-0002-5248-4858Maquen et al. Buenas prácticas para la optimización de base de datos relacionales usando Microsoft SQL