2010-01-13 14 views
5

¿ralentiza el tiempo de consulta para usar muchos índices únicos? No tengo que muchas im curiosidad, creo que he oído esto en algún lugaríndice único se ralentiza?

  • id (AUTO_INCREMENT primaria)
  • nombre de usuario (único)
  • contraseña
  • sal (única)
  • correo electrónico (único)
+0

Depende de la consulta, publíquela y su plan de ejecución para obtener una respuesta completa. –

+0

Más importante que la velocidad es la integridad de los datos. Si la columna debe ser única, es mejor marcarla como tal en la base de datos. SÍ INSERTOS, LAS ACTUALIZACIONES serán más lentas, pero los datos son inútiles si la integridad no está allí. – HLGEM

Respuesta

6

Depende del software del servidor de base de datos y del tipo de tabla/índice que esté utilizando. Las inserciones serán más lentas cada vez que tenga índices de cualquier tipo, pero no necesariamente por mucho: esto también dependerá del tamaño de la tabla.

En generales, índices únicos deberían velocidad cualquier consultas de selección que usar que son capaces de tomar ventaja del índice (es)

+1

sí, las inserciones/actualizaciones harán el mantenimiento del índice, el tiempo de las publicidades para la operación. –

0

Tiempo de consulta, no. Sin embargo, ralentizarán el tiempo de INSERTAR y ELIMINAR, ya que cada valor de índice debe calcularse y luego insertarse o eliminarse.

1

En general, tener más índices ralentizará las inserciones, actualizaciones y eliminaciones, pero puede acelerar las consultas, suponiendo que realice consultas en función de estos campos.

Si necesita un índice único para garantizar la coherencia en su aplicación, generalmente debería agregarlo incluso si se produce un pequeño golpe de rendimiento. Es mejor ser correcto que rápido pero incorrecto.

2

Disminuirán la velocidad de sus inserciones y actualizaciones (ya que cada una se debe verificar para ver si se viola la restricción), pero no deberían ralentizar las selecciones. De hecho, podrían acelerarlos, ya que hay más opciones para que el optimizador use para encontrar sus datos.

1

Cada vez que se agrega una clave única a una tabla de base de datos que se suma un índice no agrupado. Los índices agrupados están en claves primarias y clasifican los datos en la tabla físicamente por esa (s) columna (s). Cada índice no agrupado crea una cantidad de hojas externas a la tabla que se basa en la clave única. Esto permite una búsqueda mucho más consistente en la clave única porque ya no se requiere una exploración de tabla completa. El inconveniente es que cada vez que inserta, actualiza o elimina una fila de la tabla, el servidor debe regresar y actualizar todas las hojas externas a la tabla. Esto generalmente no es un problema si tiene un número pequeño de claves únicas, pero cuando tiene muchas puede ralentizar los tiempos de respuesta. Para obtener más información, lea el artículo de Wikipedia here. Msdn también tiene un buen artículo.

Cuestiones relacionadas