Ver Mensaje Individual
  #4 (permalink)  
Antiguo 06/07/2011, 14:36
Avatar de iislas
iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Respuesta: En que consiste un indexeo de tablas?

Te voy a platicar un ejemplo, que siempre digo, cuando me preguntan que es un INDICE.

Si vas a buscar al Dr. Jimenez, en un edificio, donde no hay DIRECTORIO y no hay recepcionista, ni policia a la entrada y no llevas la direccion de su despacho, ¿que harias?

Tocar de piso en piso, despacho por despacho, por el Dr. Jimenez, como bien, te lo puedes encontrar en el piso 1, despcho 101 o bien podrias llegar al piso 15, despacho 909 y no dar con el, ¿cierto?

Bueno, pues para eso sirven los INDICES en las tablas, para no "recorrer registro por registro (scan)", simplemente, cuando buscas al "Dr. Jimenez" y si hay un indice en tu tabla por ese campo, la busqueda se hara de forma DIRECTA.

¿Que afectas?, Nada

A menos claro, que crees INDICES sin razon alguna.

Hay una teoria no escrita que dice, "Todas los campos colocados despues del WHERE, son candidatos a ser indices".

Si buscas en una tabla de MILLONES DE REGISTROS sin indice, el motor debera ir comparando registro por registro, el filtro (where) que tu has colocado, a este efecto se le conoce como SCAN.

En cambio, si tu tabla, tiene un indice por los campos despues del where, la busqueda seria mucho, pero mucho mas rapida.

Espero haberme explicado.

Saludos
__________________
MCTS Isaias Islas