Micro Indexing

Lập chỉ mục vi

Đó gần như là một nguyên tắc để tránh chiến lược lập chỉ mục trên các bảng với ít hơn vài nghìn hàng. Lý do, tất nhiên, là SQL Server sẽ thường xuyên bỏ qua các chỉ mục trên các bảng ‘nhỏ’ – thay vào đó thay vì thực hiện quét bảng.

Tuy nhiên, trong các môi trường có tải trọng lớn, và với các tắc nghẽn bộ nhớ đường biên (nghĩa là áp lực bộ nhớ nặng), việc lập chỉ mục có thể chứng minh VERY có lợi, thậm chí trên các bảng có độ phân giải thấp (dưới 600 dòng).

Trong một số lần theo dõi / điều chỉnh hiệu suất gần đây cho khách hàng với cơ sở dữ liệu 160GB + thường có> 2400 người dùng vào bất kỳ thời điểm nào, tôi nhận thấy rằng hai truy vấn gắn liền với lập kế hoạch và mẫu “thiện chí” đã tạo ra nhiều hơn phần công bằng của READS . (Hai truy vấn chiếm 17% tất cả các cuộc gọi trên hệ thống, và> 35% của tất cả các lần đọc trên hệ thống). Như thường là trường hợp, tôi KHÔNG kiểm soát mã bên dưới (đó là một hệ thống bên thứ ba ), nhưng vẫn cần giữ những thứ thực hiện.

Một vấn đề lớn là tra cứu dấu trang, so với một bảng ‘nhỏ’ với khoảng 120 nghìn hàng trong đó. Nó đã tạo ra một số lượng rất lớn các lần đọc. Bằng cách tinh chỉnh chỉ mục nhóm hiện có để làm cho nó che phủ tốt hơn, tôi đã có thể giảm tổng chi phí của cả hai truy vấn xuống đáng kể. Sau đó, tôi nhận thấy một số Dấu trang khác và quyết định dùng đâm vào họ. Khi mọi thứ đã được nói và làm xong, tôi đã có thể cắt giảm chi phí của cả hai truy vấn đến khoảng một nửa của những gì nó được trước. Cấp, một phần đáng kể đó là do chỉ số bao trùm trên bảng ‘nhỏ’ của tôi, nhưng các chỉ số bao trùm trên các bảng ‘nhỏ’ của tôi cũng đã giúp đỡ.

Nói thực nghiệm:

Giá gốc của cả hai truy vấn:
.176

Đã thêm Chỉ mục Bao gồm ‘bảng nhỏ’ (~ 120 nghìn hàng):
.401

Bao gồm Chỉ số cũng được thêm vào một bảng <500 hàng:
.117

Bao gồm Chỉ số cũng được thêm vào một ~ 600 hàng bảng:
.114 (không nhiều của một tăng)

Bao gồm Chỉ số cũng được thêm vào một bảng với 364 hàng whopping:
.099 (tốt đẹp!)

Vẻ đẹp (ngoài việc nhìn thấy chi phí tổng thể giảm xuống 50%) là thực tế là các chỉ mục trên các bảng viền như vậy gần như là miễn phí – chắc chắn họ sẽ không chiếm nhiều không gian. (Đây chỉ là bảng tra cứu tiêu chuẩn / bình thường – không có gì đáng sợ / siêu rộng).

Vì vậy, hãy nhớ lập chỉ mục vi. Nếu không có lập chỉ mục vi mô, tôi sẽ thấy sự sụt giảm từ 0,176 xuống 0,140 – một sự gia tăng đáng kể đối với một hệ thống được sử dụng nhiều. Nhưng với việc lập chỉ mục vi mô tôi đã đạt được một tăng hiệu suất đáng kể.

Please give your comments!

Your email address is confidential.

Recent Posts

Recent Comments

    Archives

    Categories

    Meta