Ver Mensaje Individual
  #12 (permalink)  
Antiguo 14/01/2008, 07:40
Avatar de pragone
pragone
 
Fecha de Ingreso: diciembre-2007
Ubicación: Madrid
Mensajes: 223
Antigüedad: 17 años, 2 meses
Puntos: 2
Re: Duda sobre indexación de tablas

Hola [DARK_RULO]

Primero que nada, el EXPLAIN de MySQL es siempre tu mejor ayuda a la hora de optimizar queries.

Dicho esto. Un SQL como:
Código HTML:
SELECT * FROM blogs ORDER BY rand() LIMIT 0,1
es un mata-mysql :)

Haciendo un explain sobre una base de datos mía con ese query... mira lo que da:
Código HTML:
+----+-------------+----------+------+---------------+------+---------+------+------+---------------------------------+
| id | select_type | table    | type | possible_keys | key  | key_len | ref  | rows | Extra                           |
+----+-------------+----------+------+---------------+------+---------+------+------+---------------------------------+
|  1 | SIMPLE      | category | ALL  | NULL          | NULL | NULL    | NULL |  124 | Using temporary; Using filesort |
+----+-------------+----------+------+---------------+------+---------+------+------+---------------------------------+
Si un query te dice "using filesort"... malo malo.

En vez de aleatorio hazlo rotativo. Así te puedes deshacer del rand.