sql >> Database >  >> RDS >> Sqlserver

SQL Server ontbrekende index

Hallo,

Het gebruik van Index in de SQL Server-database vindt plaats in omgevingen die de meeste besparingen op prestaties, snelheid en geheugen vereisen.

In een tabel met miljoenen of miljarden records kunnen we een index gebruiken om minder records te lezen en minder zoeken om gerelateerde records te vinden.

Nauwkeurig gemaakte index, miljoenen records in de database die we in een zeer korte tijd hebben doorzocht om het record van de beller te brengen, terwijl we tegelijkertijd het record minder lezen door het doelrecord te bereiken, we gebruiken de middelen van het besturingssysteem effectief.

U moet een index maken voor meestal alleen-lezen query's op een tabel. Als Delete,update-bewerkingen meer zijn dan alleen-lezen query's, moet u die tabel niet indexeren.

U kunt de ontbrekende indexaanbeveling van SQL Server bekijken met het volgende script. U kunt een ontbrekende index maken, maar u moet deze index controleren. Als ze niet nuttig zijn, moet u ze verwijderen.

SELECT MID.[statement] AS ObjectName
,MID.equality_columns AS EqualityColumns
,MID.inequality_columns AS InequalityColms
,MID.included_columns AS IncludedColumns
,MIGS.last_user_seek AS LastUserSeek
,MIGS.avg_total_user_cost 
* MIGS.avg_user_impact 
* (MIGS.user_seeks + MIGS.user_scans) AS Impact
,N'CREATE NONCLUSTERED INDEX <TYPE_Index_Name> ' + 
N'ON ' + MID.[statement] + 
N' (' + MID.equality_columns 
+ ISNULL(', ' + MID.inequality_columns, N'') +
N') ' + ISNULL(N'INCLUDE (' + MID.included_columns + N');', ';')
AS CreateStatement
FROM sys.dm_db_missing_index_group_stats AS MIGS
INNER JOIN sys.dm_db_missing_index_groups AS MIG
ON MIGS.group_handle = MIG.index_group_handle
INNER JOIN sys.dm_db_missing_index_details AS MID
ON MIG.index_handle = MID.index_handle
WHERE database_id = DB_ID()
AND MIGS.last_user_seek >= DATEDIFF(month, GetDate(), -1)
ORDER BY Impact DESC;


  1. Hoe voer je een selectiequery uit in een DO-blok?

  2. Voormalig Capgemini Executive, Sunitha Ray, sluit zich aan bij ScaleGrid DBaaS om Enterprise Sales uit te breiden

  3. Back-up van een database in SQL Server 2017

  4. INSERT-instructie conflicteert met de FOREIGN KEY-beperking - SQL Server