Site sponsored by: Idera Try Idera’s new SQL admin toolset
SQL Server Performance

  • Home
  • Articles
  • Forums
  • Tips
  • Quiz
  • FAQ's
  • Blogs
  • Software
  • Books
  • About Us
RSS Feeds
Sign in | Join


Article Topics

All Articles
Performance Tuning
Audit
Business Intelligence
Clustering
Reporting Services
Developer
General DBA
ASP.NET / ADO.NET

Write for Us

Share you SQL Server knowledge with others and raise your profile in the community More...
Latest Articles

Capture DDL Changes using Change Data Capture with SQL Server 2008 ...
Business Intelligence in Collaborative Planning, Forecasting and Replenishment
Inside SQL Server Cluster Setup and Troubleshooting Techniques - Part I ...
Configure and Manage Policy Based Management in SQL Server 2008 ...

More     
 
Latest FAQ's

Cannot Start SQL Server Service
Users are able to connect to report manager but not able ...
Errors when SQL Server Snapshot Replication is Running
How to Display Server Name or IP Address in a Reporting ...

More     
   
Latest Software Reviews

Spotlight on ApexSQL Doc 2008
ApexSQL Enforce
Embarcadero Change Manager
SQL Server DBA Dashboard

More     

articles >> performance tuning >> Eliminación de Índices no Usados

Eliminación de Índices no Usados

By : Luis Martin
Mar 30, 2005

Page 2 / 4

La tercera columna muestra el % de utilización de cada índice, la idea será eliminar aquellos índices cuyo uso este identificado como 0.

Es muy probable que en uno de los reportes generados existan índices sin uso y, en otro reporte el mismo índice se encuentre utilizado. De allí la necesidad de concentrar todos los reportes en uno solo y utilizar algún método computacional que nos ayude a obtener un resumen adecuado del uso o no de todos lo índices.

Para eso creamos la siguiente tabla (o base de datos con esta única tabla):

CREATE TABLE [dbo].[Analisis] (

[Tabla] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AI NOT NULL ,

[Indice] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CI_AI NOT NULL ,

[Uso] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AI NOT NULL ,

 [Peso] [int] NOT NULL ,

 [Base] [varchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AI NULL ,

[Fecha] [datetime] NOT NULL

) ON [PRIMARY]

 

Carga del Informe a una Tabla SQL

Una vez creada, utilizamos el Asistente para Importación/Exportación con Servicios de Transformación de Datos para importar nuestro archivo txt a la tabla SQL.

El origen será txt el destino será SQL. El cuidado que hay que tener es, elegir el tabulador como delimitador de columnas.

También es necesario elegir la tabla Análisis como destino.

A continuación utilizamos el siguiente procedimiento almacenado para obtener los índices no utilizados.

CREATE PROCEDURE Indices_Inactivos AS

declare

@Base varchar(15),

@Tabla varchar(50),

@Indice varchar(100),

@BaseAnt varchar(15),

@TablaAnt varchar(50)

declare IndicesInactivos cursor for

 select Base, Tabla, Indice

  from Analisis

where Indice like '[[]IX%'

  group by Base, Tabla, Indice

  having sum(convert(money,replace(Uso,',','.'))) = 0

open IndicesInactivos

fetch next from IndicesInactivos into @Base, @Tabla, @Indice

while (@@FETCH_STATUS <> -1)

begin

     if @Base <> @BaseAnt

     begin   

   Print 'BASE: ' + @Base

     select @BaseAnt = @Base

    select @TablaAnt = ''

     end   

     if @Tabla <> @TablaAnt

    begin   

    Print 'TABLA: ' + @Tabla

      Print 'INDICES: '

    select @TablaAnt = @Tabla

   end  

      Print '    ' + @Indice

 fetch next from IndicesInactivos into @Base, @Tabla, @Indice

continue

end

close IndicesInactivos

deallocate IndicesInactivos

GO


<< Prev Page     Next Page>>    








Home | Peformance Articles | Audit Articles | Business Intelligence Articles | Clustering Articles | Developer Articles | Reporting Services Articles | DBA Articles | ASP.NET / ADO.NET Articles | DBA FAQ's | Developer Peformance FAQ's | DBA Peformance FAQ's | Developer FAQ's | Clustering FAQ's | Error Messages | Audit Tool Reviews | Backup Tool Reviews | Coding Tool Reviews | Compare Tool Reviews | Documentation Tool Reviews | Design Tool Reviews | Monitoring Tool Reviews | Log Tool Reviews | Reporting Tool Reviews | Clustering Tool Reviews | Security Tool Reviews | Change Management Tool Reviews | Remote Access Tool Reviews | Book Reviews | Security Tool Reviews | QDPMA Performance Tuning | ADO.NET / ASP.NET | Administration | Analysis/OLAP Services | Application Development | Configuration | Components | ETL | Hardware | High Availability | Hints | Index | Misc | Operating Systems | Performance Tuning | Replication | T-SQL | Views


              © 1999-2008 by T10 Media. All rights reserved