Está en la página 1de 6

INSTITUTO SUPERIOR TECNOLÓGICO 17 DE JULIO

NOMBRE: PAMELA VARGAS

CARRERA: DESARROLLO DE SOFTWARE

FECHA:16/12/2022

EJERCICIO 1
--CONSULTA DE INDICES
--VERIFICAR SI UNA TABLA TIENE INDICES CREADOS CON SP PROPIO DE SQL
exec sp_helpindex DatabaseLog

--CREAR INDICE AGRUPADO CLUSTERED

create clustered index idx_DatabaseLogID on DatabaseLog (DatabaseLogID);

exec sp_helpindex DatabaseLog

select *from DatabaseLog

--CREAR INDICES NO AGRUPADOS


create nonclustered index idx_Event on DatabaseLog (Event);
create nonclustered index idx_DatabaseUser on DatabaseLog (DatabaseUser);
exec sp_helpindex DatabaseLog

--SI CONSULTAMOS POR COLUMNAS INDEXADA ENTONCES SE OBSERVA EL ORDEN


--YA QUE RESULTA MAS FACIL BUSCAR SOBRE LA COLUMNA INDEX

select DatabaseLogID,Event,DatabaseUser from DatabaseLog;


--BORRAR INDEX
drop index DatabaseLog.idx_DatabaseLogID;
drop index DatabaseLog.idx_Event;
drop index DatabaseLog.idx_DatabaseUser;
exec sp_helpindex DatabaseLog

--CREAR NUEVAMENTE INDICE EVENT


create nonclustered index idx_Event on DatabaseLog (Event);
exec sp_helpindex DatabaseLog

--
CONSULTAR TODOS LOS INDICES DEL SISTEMA
SELECT NAME FROM SYSINDEXES;

--CONSULTAR LOS INDICES QUE CONTENGAN CARACTER ESPECIFICADO


SELECT NAME FROM SYSINDEXES
WHERE NAME like 'idx_%';

EJERCICIO 2

--CONSULTA DE INDICES
--VERIFICAR SI UNA TABLA TIENE INDICES CREADOS CON SP PROPIO DE SQL

exec sp_helpindex 'Production.Product'

--CREAR INDICE AGRUPADO CLUSTERED

create clustered index idx_Size on Production.Product(Size);

select *from Production.Product


exec sp_helpindex 'Production.Product'

--CREAR INDICES NO AGRUPADOS

create nonclustered index idx_Color on Production.Product (Color);


exec sp_helpindex 'Production.Product'

--SI CONSULTAMOS POR COLUMNAS INDEXADA ENTONCES SE OBSERVA EL ORDEN


--YA QUE RESULTA MAS FACIL BUSCAR SOBRE LA COLUMNA INDEX
select Name,Color from Production.Product;

--Borrar index
exec sp_helpindex 'Production.Product'
drop index Production.Product.idx_Name;
drop index Production.Product.idx_Color;

--BORRAR IN INDICE SI EXISTE


--CREAR NUEVAMENTE INDICE COLOR
create nonclustered index idx_Color on Production.Product (Color);
exec sp_helpindex 'Production.Product'

--CONSULTAR TODOS LOS INDICES DEL SISTEMA


SELECT NAME FROM SYSINDEXES;
--CONSULTAR LOS INDICES QUE CONTENGAN CARACTER ESPECIFICADO
SELECT NAME FROM SYSINDEXES
WHERE NAME like 'idx_%';

CONSULTAR EL PROCESO PAR ACTUALIZAR LOS ELEMENTOS DE UN ÍNIDCE COMO SU TIPO Y CAMPOS
DE INDEXACIÓN.

En el ejemplo siguiente se quita y se vuelve a crear un índice existente en la columna ProductID de la


tabla Production.WorkOrder en la base de datos de AdventureWorks mediante la opción
DROP_EXISTING. También se establecen las opciones FILLFACTOR y PAD_INDEX .

SQL

Copiar
CREATE NONCLUSTERED INDEX IX_WorkOrder_ProductID
ON Production.WorkOrder(ProductID)
WITH (FILLFACTOR = 80,
PAD_INDEX = ON,
DROP_EXISTING = ON);

En el ejemplo siguiente se usa ALTER INDEX para establecer varias opciones del índice
AK_SalesOrderHeader_SalesOrderNumber.

SQL

ALTER INDEX AK_SalesOrderHeader_SalesOrderNumber ON


Sales.SalesOrderHeader
SET (
STATISTICS_NORECOMPUTE = ON,
IGNORE_DUP_KEY = ON,
ALLOW_PAGE_LOCKS = ON
);
La ventana mostrada de reconstruir o reorganizar va a listar todas las tablas de índices que van
a ser desfragmentados usando esa operación, con el nivel de fragmentación de cada índice, como se
muestra en la captura de pantalla de abajo:

La misma operación puede también ser realizada usando comandos T-SQL. Puedes reconstruir el
índice previo, usando el comando ALTER INDEX REBUILD T-SQL, con la habilidad de configurar las
diferentes opciones de creación de índice, como el FILL FACTOR, ONLINE o PAD_INDEX, como se
muestra abajo:

USE [IndexDemoDB]
GO
ALTER INDEX [IX_STD_Evaluation_STD_Course_Grade] ON [dbo].[STD_Evaluation] REBUILD
PARTITION = ALL WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB =
OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
GO
También, el índice puede ser reorganizado, usando el comando ALTER INDEX REORGANIZE T- de
abajo:

USE [IndexDemoDB]
GO
ALTER INDEX [IX_STD_Evaluation_STD_Course_Grade] ON [dbo].[STD_Evaluation] REORGANIZE
WITH ( LOB_COMPACTION = ON )
GO
Puedes también organizar todas las tablas de índices, al proveer la declaración ALTER INDEX
REORGANIZE T-SQL con la opción ALL, en vez de el nombre de índice, como la declaración T-SQL de
abajo:

ALTER INDEX ALL ON [dbo].[STD_Evaluation]


REORGANIZE ;
GO
Y reconstruir todos los índices de la tabla, al proveer la declaración ALTER INDEX REBUILD T-SQL con
la opción ALL, en vez del nombre del índice, como la declaración T-SQL de abajo:

ALTER INDEX ALL ON [dbo].[STD_Evaluation]


REBUILD WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
GO

También podría gustarte