Indices – ejercicios

Indices

Los índices permiten ordenar los registros de una tabla o vista de acuerdo a uno a mas campos en orden ascendente o descendente. (Ver índices)

Al crear tablas particionadas es recomendable crear índices particionados.

Ejercicios

Usando la base de datos Northwind

use Northwind
go

Crear INDICES

Create index NombreIndice
on Tabla/Vista (Campo1 ASC|DESC [, Campo2 Asc|Desc])
with (fillfactor = Valor , drop_existing = on) */

— Crear índice para la tabla Categories, campo CategoryName

create index CategoriaNombreIDXa on Categories(Categoryname)
go

— Listar los índices

Select * from sys.indexes
go

— Buscar un índice específico

Select * from sys.indexes where name = ‘CategoriaNombreIDXa’
go

— Script para crear el índice sólo si el índice no existe

if not exists (Select * from sys.indexes where name = ‘CategoriaNombreIDXa’)
Begin
create index CategoriaNombreIDXa on Categories(Categoryname)
End
go

RECOMENDACION: Usar un factor de relleno (fillfactor) de 80

 

— Índice para la tabla Empleados

select * from Employees order by LastName, FirstName
go

— Índice para LastName + FirstName

if not exists (Select * from sys.indexes where name = ‘EmpleadosApellidosNombresIDXa’)
Begin
Create index EmpleadosApellidosNombresIDXa on Employees (LastName, FirstName)
with (fillfactor = 80)
End
else — índice ya existe
Begin
Create index EmpleadosApellidosNombresIDXa on Employees (LastName, FirstName)
with (fillfactor = 80, drop_existing = on)
End
go




Eliminar un índice:

Drop Index NombreIndice on Tabla/Vista */

— Eliminar el índice CategoriaNombreIDXa de la tabla Categories

Drop index CategoriaNombreIDXa on Categories
go