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

[SOLUCIONADO] Crear indice

Estas en el tema de Crear indice en el foro de Mysql en Foros del Web. Buenas, tengo una cuestion a ver si alguien me la puede resolver. Según esta consulta: mysql> explain select cod_cuenta from cuentas order by fecha_creacion, cod_cliente ...
  #1 (permalink)  
Antiguo 26/01/2014, 04:36
mkt
 
Fecha de Ingreso: diciembre-2008
Mensajes: 13
Antigüedad: 16 años
Puntos: 0
Crear indice

Buenas, tengo una cuestion a ver si alguien me la puede resolver.

Según esta consulta:

mysql> explain select cod_cuenta from cuentas order by fecha_creacion, cod_cliente DESC;
+----+-------------+---------+------+---------------+------+---------+------+------+----------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+---------+------+---------------+------+---------+------+------+----------------+
| 1 | SIMPLE | cuentas | ALL | NULL | NULL | NULL | NULL | 36 | Using filesort |
+----+-------------+---------+------+---------------+------+---------+------+------+----------------+
1 row in set (0.00 sec)

Intento optimizarla creando un indice de esta manera:
mysql> create index indice on cuentas(fecha_creacion, cod_cliente DESC);
Query OK, 0 rows affected (0.04 sec)
Records: 0 Duplicates: 0 Warnings: 0

Y obtengo ahora este resultado de la misma consulta:
mysql> explain select cod_cuenta from cuentas order by fecha_creacion, cod_cliente DESC;
+----+-------------+---------+-------+---------------+--------+---------+------+------+-----------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+---------+-------+---------------+--------+---------+------+------+-----------------------------+
| 1 | SIMPLE | cuentas | index | NULL | indice | 7 | NULL | 36 | Using index; Using filesort |
+----+-------------+---------+-------+---------------+--------+---------+------+------+-----------------------------+
1 row in set (0.00 sec)

¿Está bien hecho? ¿Ha quedado optimizado por el indice, o se puede optimizar mas?

Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 29/01/2014, 03:31
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 9 meses
Puntos: 574
Respuesta: Crear indice

Si como ves el motor pasa a usar automáticamente el indice.... luego para esta consulta no se puede hacer nada más.... eso no quiere decir que la tabla este optimizada para cualquier otra situación y entidiende por situación otras consultas o cuaquier conjunto de datos....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Etiquetas: indice, null, select, sql
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 19:06.