Chuyển đổi loại trong biểu thức try_cast có thể ảnh hưởng đến ước tính cardinality trong lựa chọn gói truy vấn


7

Tôi có một truy vấn đang chạy rất chậm nên tôi bắt đầu xem xét Kế hoạch thực hiện. TRY_CASTlà một cách an toàn để tìm hiểu xem dữ liệu có thể được chuyển thành một loại hay không. Và có một cảnh báo trong kế hoạch liên quan TRY_CAST.

 Type conversion in expression try_cast may affect "CardinalityEstimate" in query plan choice

Xin lưu ý rằng tôi không phải là một DBA mà là một lập trình viên. Đối xử với tôi như một người mới khi tôi đến cơ sở dữ liệu.

Điều gì nên là cách tiếp cận tốt nhất để cải thiện tốc độ của truy vấn (dựa trên cảnh báo trong tiêu đề của câu hỏi này)? Có bất cứ điều gì khác ngoài TRY_CASTđiều đó có thể giúp tăng tốc truy vấn, ví dụ, CASTbản thân nó có xu hướng ngoại lệ và cách duy nhất để truyền an toàn mà tôi biết là TRY_CASTkhông?

nhập mô tả hình ảnh ở đây

Câu trả lời:


17

Về cơ bản, điều này có thể có nghĩa là chuyển đổi loại không thể sử dụng hiệu quả một chỉ mục. Cardinality là một thuộc tính quan trọng của các chỉ mục mà bạn có thể sử dụng. Đối với hiệu suất, lý tưởng là có các kiểu dữ liệu khớp, thay vì cố gắng chuyển đổi chúng một cách nhanh chóng.

Bạn sẽ tìm thấy bài đăng của Thomas LaRock trên trang này hữu ích: http://thomaslarock.com/2012/08/why-datatypes-matter-3-ways-they-can-hurt-performance/

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.