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

Indices

Estas en el tema de Indices en el foro de Mysql en Foros del Web. Saludos Amigos. ALguien podría explicarme como usar y que función tienen los indices en Mysql ? y como se relacionan con php si es que ...
  #1 (permalink)  
Antiguo 05/07/2006, 14:07
 
Fecha de Ingreso: abril-2005
Mensajes: 491
Antigüedad: 18 años, 11 meses
Puntos: 1
Indices

Saludos Amigos.

ALguien podría explicarme como usar y que función tienen los indices en Mysql ? y como se relacionan con php si es que se relacionan.

Gracias '¡¡¡
  #2 (permalink)  
Antiguo 05/07/2006, 22:07
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 4 meses
Puntos: 655
PHP es una herramienta para desarrollo WEB, por lo que NO se relaciona para nada con MySQL o cualquier otro motor de BD. Si tenes preguntas sobre PHP, en el foro de PHP te van a ayudar mucho.

Los índices tienen como función, el accesar más rápidamente y efecientemente la información de las tablas.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #3 (permalink)  
Antiguo 06/07/2006, 02:27
 
Fecha de Ingreso: junio-2006
Mensajes: 87
Antigüedad: 17 años, 9 meses
Puntos: 0
Los indices los utilizan las BB.DD. para realizar busquedas de forma más rápida (es como si pusiese un marcador en un libro para buscar una página)

Dado que los índices hacen que las consultas se ejecuten más rápido, podemos estar incitados a indexar todas las columnas de nuestras tablas. Sin embargo, lo que tenemos que saber es que el usar índices tiene un precio. Cada vez que hacemos un INSERT, UPDATE, REPLACE, o DELETE sobre una tabla, MySQL tiene que actualizar cualquier índice en la tabla para reflejar los cambios en los datos.

¿Así que, cómo decidimos usar índices o no?. La respuesta es "depende". De manera simple, depende que tipo de consultas ejecutamos y que tan frecuentemente lo hacemos, aunque realmente depende de muchas otras cosas.

La razón para tener un índice en una columna es para permitirle a MySQL que ejecute las búsquedas tan rápido como sea posible (y evitar los escaneos completos de tablas). Podemos pensar que un índice contiene una entrada por cada valor único en la columna. En el índice, MySQL debe contar cualquier valor duplicado. Estos valores duplicados decrementan la eficiencia y la utilidad del índice.

Así que antes de indexar una columna, debemos considerar que porcentaje de entradas en la tabla son duplicadas. Si el porcentaje es demasiado alto, seguramente no veremos alguna mejora con el uso de un índice.

Otra cosa a considerar es qué tan frecuentemente los índices serán usados. MySQL puede usar un índice para una columna en particular si dicha columna aparece en la cláusula WHERE en una consulta. Si muy rara vez usamos una columna en una cláusula WHERE, seguramente no tiene mucha sentido indexar dicha columna. De esta manera, probablemente sea más eficiente sufrir el escaneo completo de la tabla las raras ocasiones en que se use esta columna en una consulta, que estar actualizando el índice cada vez que cambien los datos de la tabla.

La única relación que tiene con PhP es a la hora de realizar consulta mediante SQL, pero ahí PhP poco tiene que hacer ya que los indices deben estar creados en la BB.DD.
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 23:15.