Chúng ta đều biết rằng chúng ta chỉ có thể có một chế độ xem theo cụm cho mỗi bảng, thật tuyệt. Nhưng rõ ràng bạn không có giá trị của các cột được tính toán trên lá ngay cả khi sử dụng chỉ mục được nhóm và chúng được tính toán mỗi lần.
Vì vậy, câu hỏi đầu tiên của tôi là, có đúng như những gì tôi vừa nói không?
Ngoài ra, nếu bạn tạo một chỉ mục được phân cụm, tôi xin phép trích dẫn ..
"Nếu bạn tạo một chỉ mục được nhóm trên một cột được tính toán, các giá trị của cột sẽ tồn tại về mặt vật lý trong các hàng của bảng tương ứng, bởi vì các trang lá của chỉ mục được nhóm hàng dữ liệu. "
Vâng, được thôi, nhưng tại sao chỉ tạo chỉ mục cụm trên cột được tính? Tôi nghĩ nếu bạn tạo một chỉ mục cụm trên bất kỳ cột nào thì dữ liệu tồn tại trên lá?
Vì vậy, Ques 2 của tôi là giá trị của cột được tính tồn tại (tồn tại) trong bảng nếu chúng ta chỉ tạo một chỉ mục được nhóm trên cột cụ thể đó? (câu hỏi 2 tiếp tục) Nếu đó thực sự là trường hợp, nếu chúng ta có nhiều hơn một cột được tính thì sao? chắc chắn, chúng ta không thể tạo nhiều hơn một chỉ mục được nhóm, hơn là làm thế nào để chúng ta làm cho giá trị của chúng bền bỉ?
Bây giờ di chuyển trên, những gì về các chỉ số bao gồm? Đầu tiên, chúng tôi không thực sự cần che (hoặc chúng tôi thực sự không thể tạo) bao gồm chỉ số trong khi tạo chỉ mục được nhóm vì tất cả dữ liệu đã có trên lá, phải không? Vì vậy, không có điểm bao gồm bất kỳ cột nào khác?
Vì vậy, thứ ba tôi muốn hỏi, tôi có đúng về những gì tôi vừa nói trong tuyên bố trước đây không?
Bây giờ nếu chúng ta đang tạo một chỉ mục bao phủ, (không phân cụm phải không?) Và chúng tôi bao gồm (các) cột được tính toán, thì chúng tôi có tồn tại không? họ sẽ được "lưu trữ vật lý" hoặc tính toán lại? (và đó là ques thứ 4. Nhân tiện.)
Cuối cùng, (câu hỏi thứ 5) nếu chúng ta có thể đạt được điều tương tự (duy trì các cột được tính toán) bằng tất cả các cách này (hoặc một số trong những cách này, tôi không thực sự biết cách nào, đó là lý do tại sao tôi đặt câu hỏi ngay từ đầu!) Sau đó, phương pháp tốt nhất để áp dụng là gì và tại sao?
ps: Tôi xin lỗi nếu đã hỏi 5 câu hỏi chỉ trong một lần, nhưng tất cả chúng đều liên quan khủng khiếp và tôi không muốn hỏi điều tương tự lặp đi lặp lại trong 5 câu hỏi khác nhau. Tôi hy vọng bạn hiểu! :)
EDIT: đáp lại các bình luận, ngay bây giờ tôi đang sử dụng máy chủ SQL 2008, nhưng nếu bạn có thể cung cấp tình huống sẽ khác như thế nào nếu sử dụng bất cứ thứ gì khác (sql của tôi hoặc bất cứ điều gì) sẽ được thêm lợi ích cho không chỉ tôi mà còn cho cộng đồng . :)