sql >> Database teknologi >  >> RDS >> Sqlserver

SQL Server mangler indeks

Hej,

Brugen af ​​Index i SQL Server-databasen forekommer i miljøer, der kræver størst ydeevne, hastighed og hukommelsesbesparelser.

I en tabel med millioner eller milliarder af poster kan vi bruge et indeks til at læse færre poster og søge mindre for at finde relateret post.

Nøjagtigt oprettet Index, millioner af poster i databasen, vi har søgt inden for meget kort tid for at bringe posten af ​​den, der ringer bekvemmelighed, mens på samme tid mindre læse posten ved at nå målet posten, vi bruger operativsystemets ressourcer effektivt.

Du bør oprette indeks for for det meste skrivebeskyttede forespørgsler på en tabel. Hvis Slet, opdateringshandlinger er mere end skrivebeskyttede forespørgsler, bør du ikke oprette indeks for den tabel.

Du kan se på den manglende indeksanbefaling af SQL Server med følgende script. Du kan oprette manglende indeks, men du bør overvåge disse indeks. Hvis de ikke er nyttige, bør du droppe dem.

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. Oprettelse af en ODBC-linket server uden at konfigurere en datakilde

  2. Problemer med at åbne MDF-fil, fordi den siger SQL-fejl 5171? - Et gæsteindlæg af Andre Williams

  3. Hvordan sammenkædes strenge af et strengfelt i en PostgreSQL 'gruppe efter' forespørgsel?

  4. Hvordan bruger man Alias ​​i Where-klausulen?