Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

20 consejos para el rendimiento de MYSQL

Estas en el tema de 20 consejos para el rendimiento de MYSQL en el foro de Mysql en Foros del Web. Bueno, no quise poner eso de [Aporte] porque iba a parecer que los consejos son de mi cosecha, pero no. Yo llevo muchos años trabajando ...
  #1 (permalink)  
Antiguo 10/09/2010, 03:03
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 15 años, 3 meses
Puntos: 150
Información 20 consejos para el rendimiento de MYSQL

Bueno, no quise poner eso de [Aporte] porque iba a parecer que los consejos son de mi cosecha, pero no.

Yo llevo muchos años trabajando con Mysql, y en absoluto me considero un 'super-experto', sé hacer mis consultas, utilizar un monton de funciones, sé optimizar tablas según que indices son más necesarios, ¿quien no ha buscado por internet eso de 'tips mysql'? jejej

Bueno, pues hoy de pura casualidad me he encontrao con este articulo que me ha dejao con la boca abierta, y aqui lo dejo para compartirlo con vosotros y opinemos a ver si podemos agregar algo más:

http://boozox.net/mysql/20-consejos-...s-no-conocias/


Por poner uno de los consejos que yo jamás habría pensado que servian:

3. Usa LIMIT 1 Cuando sólo quieras una única fila.

A veces, cuando estás realizando consultas a tus tablas, ya sabes que sólo necesitas una única fila. En estos casos debes solicitar a la base de datos un único resultado, o de lo contrario comprobará todos y cada uno de las coincidencias de la cláusula WHERE.
En estos casos, añadir LIMIT 1 a tu query puede mejorar significativamente la velocidad. De esta forma la base de datos dejará de escanear resultados en el momento que encuentre uno, en lugar de recorrer toda la tabla o un índice.


A zampar conocimiento!
  #2 (permalink)  
Antiguo 10/09/2010, 08:22
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: 20 consejos para el rendimiento de MYSQL

Muy buen aporte vun.
Estoy deacuerdo con casi todas.
El punto 4, me parece que es una afirmación muy peligrosa cuando dice:
Cita:
Los índices no son sólo para las claves primarias o las claves únicas. Si en tu tabla hay columnas sobre las que vas a realizar búsquedas, deberías indexarlas casi siempre.
Sin duda un campo unico o primario es candidato indiscutible para indexación, los campos enum no muy malos candidatos por que aunque son valores repetidos es un numero pequeño de opciones y un gran numero de repeticiones. En campos de nombres y apellidos sería muy recomendable estudiar que tanto se puede repetir un mismo registro en la tabla.

El mal uso de los indices, puede empeorar el rendimiento de la base de datos si se aplica en columnas que no sean buenas candidatas.

saludos vun y nuevamente muchas gracias
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 10/09/2010, 09:32
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 21 años, 1 mes
Puntos: 11
Respuesta: 20 consejos para el rendimiento de MYSQL

Agrego algo al punto 7.
- No es recomendable select * por que obligas al motor a leer la estructura de la tabla para conocer los nombres de los campos.
  #4 (permalink)  
Antiguo 10/09/2010, 11:19
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 9 meses
Puntos: 45
Respuesta: 20 consejos para el rendimiento de MYSQL

Muy buenos!!
Pero hay que empezar a desterrar el mito que las InnoDb son lentas, antes si, ahora la diferencia no es tanto

Saludos!
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com

Etiquetas: aportes, consejos, optimización, rendimiento, tips, trucos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:19.