Trang Chủ Cơ sở dữ liệu Chống phân mảnh làm gì cho các hệ thống sql?

Chống phân mảnh làm gì cho các hệ thống sql?

Anonim

Q:

Chống phân mảnh làm gì cho các hệ thống SQL?

A:

Bảo trì và giám sát cơ sở dữ liệu liên tục là các yếu tố chính được xem xét để chạy hệ thống SQL một cách trơn tru. Khi cơ sở dữ liệu được tạo và điền, ban đầu dữ liệu được đặt ở vị trí vật lý liền kề (nếu có đủ không gian vật lý liền kề). Vì vậy, trong trường hợp này, thứ tự logic và thứ tự vật lý của dữ liệu có thể giống nhau và nó làm tăng hiệu suất.

Khi dữ liệu được sửa đổi, xóa hoặc cập nhật, các chỉ mục liên quan cũng được cập nhật tự động để phản ánh những thay đổi đó. Kết quả là các chỉ mục trở nên phân mảnh và thông tin nằm rải rác trong không gian lưu trữ. Nó thay đổi thứ tự vật lý của dữ liệu (vì nó mất phân bổ liền kề) và việc truy xuất trở nên tốn thời gian, dẫn đến hiệu suất cơ sở dữ liệu chậm.

Giải pháp cho vấn đề này là thực hiện chống phân mảnh trên cơ sở định kỳ. Chống phân mảnh thực sự xây dựng lại hoặc sắp xếp lại các chỉ mục để phù hợp với thứ tự logic của dữ liệu với thứ tự vật lý. Trước khi thực hiện bất kỳ hoạt động chống phân mảnh, tất cả các chỉ mục cần được phân tích đúng. Các kết quả phân tích xác định xem có cần tổ chức lại hoặc xây dựng lại không.

Hai thao tác chính được thực hiện bởi quá trình phân mảnh là:

  • Sắp xếp lại chỉ mục - Sắp xếp lại chỉ mục được thực hiện khi sự phân mảnh ở mức thấp và hiệu suất không bị ảnh hưởng nghiêm trọng. Quá trình này thực sự sắp xếp lại vật lý của các trang cấp độ lá để phù hợp với thứ tự hợp lý. Nó không tạo ra bất kỳ trang mới; nó chỉ sắp xếp lại các trang hiện có. Tổ chức lại có thể được thực hiện trong khi hệ thống đang trực tuyến mà không chặn các hoạt động cơ sở dữ liệu thông thường.
  • Xây dựng lại chỉ mục - Quá trình xây dựng lại chỉ mục được thực hiện khi phân mảnh ở mức sâu hơn và hiệu suất quá chậm. Trong quá trình này, chỉ mục ban đầu bị loại bỏ và một chỉ mục mới được xây dựng. Vì vậy, thứ tự vật lý và logic được đặt trở lại vị trí ban đầu và hiệu suất được cải thiện đa dạng. Việc xây dựng lại cũng có thể tạo các trang mới theo yêu cầu và nó có thể được thực hiện ở chế độ ngoại tuyến hoặc trực tuyến.

Do đó, phân mảnh phải là một phần của quy trình bảo trì SQL Server và cần được thực hiện nghiêm túc. Một kế hoạch phân tích truy vấn thích hợp phải được xây dựng và làm theo. Dựa trên đầu ra phân tích truy vấn, việc xây dựng lại hoặc sắp xếp lại các chỉ mục phải được thực hiện. Nói tóm lại, phân mảnh là điều cần thiết để cải thiện hiệu năng của các hệ thống SQL.

Chống phân mảnh làm gì cho các hệ thống sql?