Академический Документы
Профессиональный Документы
Культура Документы
Optimizarlabasededatos
Siempreesnecesariodedicaruntiempoaldiseodenuestrabasede datos.Indicarbienlastablas,camposysusrelaciones,enfuncin delasnecesidadesquetengamos,puedefacilitarnoselmantenimiento ygarantizarnosunrendimientoadecuadoanuestrasnecesidades. Paraconseguirunbuendiseodelastablasqueintegrarnnuestra basededatossueleutilizarseunModeloRelacional,dondese extraenloselementos,propiedadesyrelacionesentrelosmismos, quesetraducenenlabasededatosentablas,suscampos,ndicesy clavesrelacionadas. Unavezextradaslastablas,delmodelorelacional,loprincipal paraunbuenfuncionamientodenuestrabasededatosesdisponerde losndicescorrectosenlastablas,sobrelosquetrabajarMySQL paraextraerelresultadodelasmismas. Laindexacin,tantodeclavesprimariascomoextranjeras,sepuede obtenerdelmodelorelacional.
Mejorarlasconsultasalabasededatos
Tengasiemprepresentelasconsultastipoquesevanarealizarsobresu basededatos,duranteelprocesodediseo.Esolepermitiroptimizar almximosuestructuraparaobtenerlosmejoresresultados. CuandoserealizaunaconsultaSELECT,hayqueevitarenloposible elusodelcomodn*,eindicarsloloscamposimprescindibles quesenecesitan.Esoreducireltamaodelaconsulta. EviteenloposibleelusodeLIKE.Lascomparacionesentrecampos detexto(BLOB,TEXT)ralentizanlasconsultas.Sifueranecesario, creendicesfulltextparaloscamposdetextosobrelosquevayaa efectuarconsultas. EvitetambinelusodeGROUPBY,ORDERBYoHAVING. Pruebesusconsultasconanterioridad,medianteelcomandoEXPLAIN. Lemostrarunlistadoinformativosobrecmoserealizala consulta. Sintaxis:Explainselect*fromtabla OptimicelaclusulaWHERE: Eviteelusodeparntesisinnecesarios. UseCOUNT(*)sloenconsultassinclusulaWHEREyque afectenaunanicatabla. SiconocequeelresultadodeunaclasulaGROUPBYoDISTINCT vaasermuyreducidohagausodelaopcinSQL_SMALL_RESULT. MySQLusartablastemporalesdeaccesorpidoparael resultadoenvezmtodosdeordenacin. Paraaadirregistrosasustablas,esmseficienterealizaruna insercinmltiplequevariasinsercionesporseparado. Sintaxis:INSERTINTOtable(campo1,campo2)VALUES(1,valor1), (2,valor2) Encolelainsercindedatosparaevitaresperasinnecesarias, medianteelusodelasentenciaINSERTDELAYED.Lainsercinse encola(agrupndoseenbloquesparaejecutarsedeformams eficiente)alaesperadequelatablaafectadanoestsiendo utilizadaporningnotroproceso. Dprioridadalassentenciasdelectura(SELECT)frentealasde escritura(INSERT): ConINSERTLOW_PRIORITY,consiguequelassentenciasde insercinesperenaquenohayaotrosprocesosleyendolatabla paraejecutarse. ConSELECTHIGH_PRIORITY,consiguequecualquierotroproceso simultneodeactualizacinoinsercindedatosespereaque