Вы находитесь на странице: 1из 3

Optimizacindetablas Paraeliminarregistrosfragmentadosyeliminarespacio desperdiciadoresultantedelborradooactualizacinderegistros, ejecutemyisamchkenmodorecuperacin: shell>myisamchkrnombre_tabla PuedeoptimizarunatabladelamismaformausandoelcomandoSQL OPTIMIZETABLE.OPTIMIZETABLErealizaunareparacindelatabla yunanlisisdelasclaves,ytambinordenaelrboldendices paraobtenerunmejorrendimientoenlabsquedadeclaves.Nohay posibilidaddeinteraccinnodeseadaentreunautilidadyel servidor,yaqueelservidorhacetodoeltrabajocuandousa OPTIMIZETABLE.ConsulteSeccin 13.5.2.5,Sintaxisde OPTIMIZE TABLE.

LE. myisamchktieneunaseriedeopcionesquepuedeusarparamejorar elrendimientodeunatabla:


S,sortindex Rindex_num,sortrecords=index_num a,analyze

Paraunadescripcincompletadeestasopciones,consulte Seccin 5.8.3.1,Sintaxisparainvocar myisamchk.

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.

Lasclavesprimariasidentificanunvocamenteacadaelemento deunatabla. Lasclavesextranjerasmarcanlasrelacionesentretablas.

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

serealicelaconsulta. Sitienedudassobreelrendimientodealgunaexpresin,utilicela funcin: BENCHMARK(contador,expresin) Lemostrareltiempoquetardaenejecutarse.

Вам также может понравиться