sql >> Base de Datos >  >> RDS >> Sqlserver

Planes de SQL Server:diferencia entre Index Scan / Index Seek

Una exploración de índice es donde el servidor SQL lee todo el índice en busca de coincidencias; el tiempo que lleva es proporcional al tamaño del índice.

Una búsqueda de índice es donde el servidor SQL utiliza la estructura de árbol b del índice para buscar directamente los registros coincidentes (ver http://mattfleming.com/node/192 para tener una idea de cómo funciona esto):el tiempo empleado es solo proporcional al número de registros coincidentes.

  • En general, una búsqueda de índice es preferible a una exploración de índice (cuando el número de registros coincidentes es proporcionalmente mucho menor que el número total de registros), ya que el tiempo necesario para realizar una búsqueda de índice es constante independientemente del número total de registros. registros en su tabla.
  • Sin embargo, tenga en cuenta que, en determinadas situaciones, una exploración de índice puede ser más rápida que una búsqueda de índice (a veces significativamente más rápido), normalmente cuando la tabla es muy pequeña o cuando un gran porcentaje de los registros coincide con el predicado.