Dựa trên truy vấn này, nếu tôi thấy tổng số lần đọc thấp (rất gần với 0 hoặc 0, như 1 hoặc 2) và số lượng cập nhật người dùng cao hoặc vừa phải (tôi không thể tìm thấy chèn hoặc xóa với truy vấn này) với một số lượng lớn hàng, theo lý thuyết tôi nên loại bỏ chỉ số.
SELECT DISTINCT
OBJECT_NAME(s.[object_id]) AS ObjectName
, p.rows TableRows
, i.name AS [INDEX NAME]
, (user_seeks + user_scans + user_lookups) AS TotalReads
, user_updates UserUpdates
FROM sys.dm_db_index_usage_stats s
INNER JOIN sys.indexes i ON i.[object_id] = s.[object_id]
AND i.index_id = s.index_id
INNER JOIN sys.partitions p ON p.object_id = i.object_id
WHERE OBJECTPROPERTY(s.[object_id],'IsUserTable') = 1
AND s.database_id = DB_ID()
AND i.name IS NOT NULL
ORDER BY (user_seeks + user_scans + user_lookups) ASC
Tôi muốn kiểm tra chéo tính chính xác của giả định này ở đây. Ví dụ, một chỉ mục đã tồn tại hơn một năm nhưng chưa bao giờ được đọc, nhưng được cập nhật cao, có vẻ như đó sẽ là một ý tưởng tồi. Có một kịch bản mà giả định này là không hợp lệ?