- vừa được xem lúc

Index Maintenance - Lên plan bảo trì Index?

0 0 7

Người đăng: Thuận Nguyễn

Theo Viblo Asia

Index là chìa khóa để cải thiện hiệu suất truy vấn, nhưng không phải lúc nào cũng cần "đụng" vào chúng. Vậy khi nào thì nên thực hiện bảo trì index? Dưới đây là một vài dấu hiệu:

  • Fragmentation tăng cao: Khi mức phân mảnh vượt quá 30%, việc rebuild/reorganize là cần thiết để đảm bảo truy xuất dữ liệu nhanh hơn.
  • Hiệu suất truy vấn giảm: Nếu thấy các truy vấn chậm dần, có thể đã đến lúc kiểm tra lại các index có sẵn, thêm mới hoặc điều chỉnh chúng.
  • Statistical Outdated: Nếu statistics không được cập nhật, có thể dẫn đến việc SQL Server chọn plan không tối ưu.
  • Dữ liệu thay đổi liên tục: Với các bảng có dữ liệu thay đổi thường xuyên, cần bảo trì index để tránh phân mảnh quá nhiều.

Đừng quên lập lịch bảo trì định kỳ và chỉ can thiệp khi cần thiết, tránh việc bảo trì quá mức gây tốn tài nguyên hệ thống!

Index Missing - Create Indexes: Hàng tháng vào ban đêm

Tạo index mới dựa trên các đề xuất từ SQL Server hoặc các truy vấn chậm.

- Sử dụng DMV để phát hiện index bị thiếu và xác định những index có Potential Impact cao.

- Kiểm tra Execution Plan của các truy vấn quan trọng để chắc chắn rằng index sẽ mang lại hiệu quả.

Index Redundant, Replicate - Remove/Edit Indexe: Hàng tháng vào ban đêm

Xóa các index dư thừa hoặc trùng lặp để tối ưu dung lượng và giảm chi phí cập nhật index.

- Sử dụng DMV sys.dm_db_index_usage_stats để kiểm tra những index ít hoặc không sử dụng.

- Kiểm tra index nào bị trùng lặp về chức năng (ví dụ: các index có cùng cột với thứ tự khác nhau).

Heap Table, Index Scan - Xem xét và chỉnh sửa: Hàng tháng

Xem xét table không có index (Heap tables) và những truy vấn thực hiện Index Scan thay vì Index Seek để tối ưu hóa hiệu suất truy vấn.

- Table heap có thể không hiệu quả nếu cần tìm kiếm hoặc truy xuất nhiều hàng. Chuyển sang Clustered Index nếu cần.

- Kiểm tra các truy vấn sử dụng Index Scan và xem có thể chuyển sang Index Seek bằng cách tối ưu hóa index không.

Index Physical Statistic Report - Rebuild/Reorganize/Update Statistics: Hàng tháng vào ban đêm

Rebuild: Dùng khi mức độ phân mảnh trên 30%.

Reorganize: Dùng khi mức độ phân mảnh dưới 30%.

Update statistics: Đảm bảo SQL Server có thông tin mới nhất về dữ liệu.

- Sử dụng query sys.dm_db_index_physical_stats để kiểm tra mức độ phân mảnh.

- Chạy UPDATE STATISTICS để đảm bảo bộ tối ưu hóa truy vấn có dữ liệu chính xác về các table.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Giới thiệu Stored Procedure trong SQL Server

Stored Procedure là 1 phần không thể thiếu của SQL Server. Chúng có thể hỗ trợ rất nhiều cho lập trình và cấu hình cơ sở dữ liệu.

0 0 163

- vừa được xem lúc

sử dụng index trong sql query

Index là một trong những yếu tố quan trọng nhất góp phần vào việc nâng cao hiệu suất của cơ sở dữ liệu. Index trong SQL tăng tốc độ của quá trình truy vấn dữ liệu bằng cách cung cấp phương pháp truy xuất nhanh chóng tới các dòng trong các bảng, tương tự như cách mà mục lục của một cuốn sách giúp bạn

0 0 192

- vừa được xem lúc

Hướng dẫn sửa lỗi không cài được SQL Server

Hôm qua do yêu cầu môn học, mình có cài lại Microsoft SQL Server. Trước đó mình có cài rồi, nhưng rồi lâu không dùng nên gỡ ra cho nhẹ máy. Bây giờ có dịp cần nên mình mới cài lại. Chi tiết lỗi mình gặp phải.

0 0 134

- vừa được xem lúc

Bạn nên tránh sử dụng Soft Delete khi có thể, và đây là lý do tại sao

Con người luôn luôn mắc sai lầm. Vì vậy, việc "lo xa" trước mọi tình huống xấu nhất chưa bao giờ là thừa.

0 0 140

- vừa được xem lúc

Sử dụng trigger trong SQL qua ví dụ cơ bản.

Trigger là gì . Cú pháp của Trigger. CREATE TRIGGER tên_trigger ON tên_bảng. FOR {DELETE, INSERT, UPDATE}.

0 0 161

- vừa được xem lúc

Khác biệt giữa khóa chính và khóa ngoại trong SQL

Các khoá chính và khóa ngoại là hai loại ràng buộc có thể được sử dụng để thực thi toàn vẹn dữ liệu trong các bảng SQL Server và đây là những đối tượng cơ sở dữ liệu quan trọng. Trong bài này, tôi muố

0 0 149