Chỉ mục cụm lấy 100% chi phí trong SQL

lập trình


Nếu tôi đã tạo chỉ mục cụm thì nó sẽ hoạt động nhanh hơn các chỉ mục khác.
Nhưng khi tôi kiểm tra kế hoạch thực hiện, nó hiển thị cho tôi 100% chi phí cho nó.

Dưới đây là ví dụ

Bảng 1
Col1
Col2
Col3

TẠO CHỈ SỐ CỤM LK_table1 TRÊN Bảng 1 (Col1,
Col2,
Col3)

Nhưng tôi chỉ sử dụng col1 và col3 khi tham gia và col2 được sử dụng trong truy vấn.
Vì vậy, sẽ có vấn đề nếu chúng ta sử dụng tất cả các cột trong chỉ mục nhưng không sử dụng nó trong phép nối, đó là lý do tại sao chi phí là 100%.

Những gì tôi đã thử:

Chưa thử bất cứ điều gì vì truy vấn đang chạy bình thường, nhưng khi tôi kiểm tra kế hoạch thực hiện, nó hiển thị cho tôi 100% chi phí cho chỉ mục cụm đó.
Xin vui lòng cho tôi biết làm thế nào để giảm chi phí cho nó.

Giải pháp 1

Thứ nhất, “chi phí 100%” chỉ có nghĩa là việc quét/tìm kiếm chỉ mục theo cụm của bạn chiếm 100% chi phí của truy vấn đó. Điều đó không có nghĩa là truy vấn kém hiệu quả hơn khi không có chỉ mục đó.

Thứ hai, bạn cần thiết kế các chỉ mục của mình để tính đến lượng dữ liệu dự kiến ​​trong các bảng có liên quan và các truy vấn mà bạn mong đợi sẽ thực thi. Nếu bạn đang lọc theo một giá trị hoặc phạm vi cụ thể trên Col2sau đó tham gia vào một bảng khác trên (Col1, Col3)thì bạn sẽ có lẽ muốn đặt Col2 đầu tiên trong chỉ mục. Nhưng để chắc chắn, bạn cần phải kiểm tra các bảng thực của mình với tải dữ liệu có ý nghĩa.

コメント

タイトルとURLをコピーしました