Ver Mensaje Individual
  #18 (permalink)  
Antiguo 27/08/2011, 15:01
Avatar de Ronruby
Ronruby
 
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 10 meses
Puntos: 416
Respuesta: Optimizar codigo[por que excede tiempo de ejecucion]

Cita:
Wow!
despues de correr el codigo, volvi hacer la consulta y el resultado lo entrego en medio segundo....
xD Como me gusta, MySQL es bastante eficientes con la configuracion adecuada.

Cita:
No soy muy bueno en ingles y google traduce mal xD pero entendi algo. Si podes aclararme un poco, que fue lo que paso, te lo agradeceria...

Tengo que colocar Index a las tablas que utilizo continuamente para buscar o que tengan relacion con otra tabla?
Te explico, a mi manera claro ...

Digamos que tienes un libro, dentro de ese libro quieres buscar cierta información. Sin un indice debes ir página por página hasta encontrar lo que quieres. MySQL funciona de la misma manera. Las tablas, cuando buscas una información, sin índices, MySQL busca dentro de TODA la tabla hasta que encuentra la información. Lo que consume mucho tiempo es cuando pides varias cosas a MySQL. Empieza desde el 1er registro hasta el ultimo por CADA cosa que le pides (en una clausula WHERE por ejemplo).
Sin embargo, con los indices, MySQL sabe exactamente a donde ir para conseguir la información. Imaginate el caso de tener que buscar en millones de registros uno por uno vs ir directamente a donde se necesita.

Ahora, ¿como sabes a cuales campos debes agregarles indices? Siempre y cuando el campo sea usado para FILTRAR o BUSCAR sobre la tabla, agrega un indice. Te das cuenta en los campos que utilizas en un WHERE y los que unen tablas con un JOIN.
Eso fue lo que hicimos con tu consulta; agregamos indices para que MySQL sepa donde buscar la información y por lo tanto se tome muchísimo menos tiempo.

;) Me alegra saber que de +130 segundos, ahora lo realiza en 1 xD. <3 Optimización.