Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/04/2017, 10:28
Strings
 
Fecha de Ingreso: septiembre-2013
Mensajes: 125
Antigüedad: 11 años, 2 meses
Puntos: 3
Optimización de consultas DB 800.000 registros

Hola, muy buenas a todos.

Tengo una consulta que me tarda 0.2650 seg en ejecutar y querría optimizarla, he realizado bastantes pruebas (Añadir nuevos indices, eliminarlos, crear views) pero nada ha mejorado el rendimiento de la siguiente consulta:

Código MySQL:
Ver original
  1. SELECT enlace_click.id,enlace_click.enlace,enlace_click.cantidad
  2. FROM enlace_click
  3. INNER JOIN enlace ON enlace_click.enlace = enlace.id
  4. ORDER BY enlace_click.cantidad ASC , enlace_click.enlace DESC
Mostrando filas 0 - 29 (total de 802430, La consulta tardó 0.2650 seg)

EXPLAIN:
Código:
id	select_type	table	        type	possible_keys	key	  key_len  ref	                           rows    Extra	
1	SIMPLE	        enlace_click	ALL	UNIQUE,enlace	NULL	  NULL	   NULL	                           1074631 Using filesort
1	SIMPLE	        enlace	        eq_ref	PRIMARY	        PRIMARY   4	   gnula_serie.enlace_click.enlace 1	   Using index




Buscando por que puede llegar a tardar tanto:


Código MySQL:
Ver original
  1. SELECT enlace_click.id,enlace_click.enlace,enlace_click.cantidad
  2. FROM enlace_click
  3. INNER JOIN enlace ON enlace_click.enlace = enlace.id
  4. ORDER BY enlace_click.cantidad ASC , enlace_click.enlace ASC
Mostrando filas 0 - 29 (total de 802430, La consulta tardó 0.0016 seg)

EXPLAIN:
Código:
id	select_type	table	        type	possible_keys	key	key_len	ref	                        rows	Extra	
1	SIMPLE	        enlace_click	ALL	UNIQUE,enlace	NULL	NULL	NULL	                        1074631	Using filesort
1	SIMPLE	        enlace	        eq_ref	PRIMARY	        PRIMARY	4	gnula_serie.enlace_click.enlace	1	Using index








Código MySQL:
Ver original
  1. SELECT enlace_click.id,enlace_click.enlace,enlace_click.cantidad
  2. FROM enlace_click
  3. INNER JOIN enlace ON enlace_click.enlace = enlace.id
Mostrando filas 0 - 29 (total de 802489, La consulta tardó 0.0009 seg)

EXPLAIN:
Código:
id	select_type   table	      type    possible_keys	key	  key_len   ref	                              rows     Extra	
1	SIMPLE	      enlace_click    ALL     UNIQUE,enlace	NULL	  NULL	    NULL	                      1074670  NULL
1	SIMPLE	      enlace	      eq_ref  PRIMARY	        PRIMARY	  4	    gnula_serie.enlace_click.enlace   1	       Using index






INDICE:
Código:
Nombre de la clave	Tipo	Único	Empaquetado	Columna  	Cardinalidad	Cotejamiento	Nulo
cantidad,enlace	        BTREE	No	No	        cantidad	2023	        A	        No
                                                        enlace	        1074590	        A	        No

Un saludo.