Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Truy vấn chỉ mục tạo lại máy chủ SQL

Xin chào

Tất cả các Chỉ mục trong cơ sở dữ liệu SQL Server sẽ bị phân mảnh Sau khi các bảng liên quan có nhiều bản cập nhật, hãy xóa các giao dịch.

Nếu chỉ mục trong bảng bị phân mảnh thì tất cả các giao dịch liên quan đến bảng đó sẽ rất chậm. Vì vậy, SQL Server DBA nên thường xuyên theo dõi các chỉ mục và chỉ mục nào bị phân mảnh và không giống như ảnh chụp màn hình sau.

Bạn có thể kiểm tra chỉ mục bị phân mảnh bằng tập lệnh sau. Nhập Tên cơ sở dữ liệu SQL Server chính xác trong dòng đầu tiên, sau đó truy vấn sẽ tìm thấy các chỉ mục bị phân mảnh.

declare @db int
select @db=DB_ID('DEVECI')
select 'ALTER INDEX [' + i.name +'] on '+OBJECT_NAME(s.object_id)+' REBUILD WITH (ONLINE = ON)',
objname = OBJECT_NAME(s.object_id),
s.object_id,
index_name= i.name,
index_type_desc, 
avg_fragmentation_in_percent
from sys.dm_db_index_physical_stats(@db,null,null,null,null) as s
join sys.indexes i on i.object_id = s.object_id and i.index_id = s.index_id 
where avg_fragmentation_in_percent>30
order by avg_fragmentation_in_percent desc, page_count desc;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tập lệnh cho tất cả dữ liệu từ cơ sở dữ liệu SQL Server

  2. Sự khác biệt giữa Truy vấn con và Truy vấn con có Tương quan

  3. Những điều bạn nên biết với NOCHECK khi kích hoạt ràng buộc CHECK trong SQL Server

  4. SQL:Chọn 3 bản ghi hàng đầu + Tổng số lượng

  5. Khắc phục sự cố khi làm việc với ngày và giờ trong SQL Server