sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server saknas index

Hej,

Användningen av Index i SQL Server-databasen sker i miljöer som kräver mest prestanda, hastighet och minnesbesparingar.

I en tabell med miljoner eller miljarder poster kan vi använda ett index för att läsa färre poster och söka mindre för att hitta relaterad post.

Noggrant skapat Index, miljontals poster i databasen har vi sökt inom en mycket kort tid för att få posten av den som ringer bekvämlighet, samtidigt som mindre läsa posten genom att nå målposten, vi använder operativsystemets resurser effektivt.

Du bör skapa index för oftast skrivskyddade frågor i en tabell. Om Ta bort, uppdateringsåtgärder är mer än skrivskyddade frågor, bör du inte skapa index för den tabellen.

Du kan titta på den saknade indexrekommendationen för SQL Server med följande skript. Du kan skapa index som saknas men du bör övervaka dessa index. Om de inte är användbara bör du släppa 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. Parameter Sniffing (eller Spoofing) i SQL Server

  2. Hur man returnerar alla otillförlitliga utländska nyckelbegränsningar i SQL Server (T-SQL-exempel)

  3. Anslutningssträngparametrar för textfilkällor

  4. android.database.CursorIndexOutOfBoundsException