chúng tôi hỗ trợ một số lượng lớn các nhà phát triển và nhà phân tích, những người không biết nhiều hoặc không quan tâm đến hiệu suất truy vấn. Mỗi ngày chúng ta có hàng trăm truy vấn được hình thành kém (cũng do kiến trúc db được thiết kế kém), mỗi lần, lấy đi hàng chục gigabyte RAM từ các máy chủ của chúng ta và có các kế hoạch thực hiện trong phạm vi megabyte được lưu trữ trong bộ đệm SQL.
Chúng tôi muốn hạn chế một số người dùng sử dụng SORT và HASH MATCHes, cụ thể là ĐẶT HÀNG B, NG, CHỌN DISTINCT và THAM GIA dưới mọi hình thức. Mục đích của chúng tôi là cho phép người dùng lấy dữ liệu của họ, nhưng chỉ hoạt động ở phía họ.
Điều này có thể đạt được trong SQL Server không? Có công cụ DB nào hỗ trợ điều đó không? Bạn nghĩ gì về điều này?
Tôi biết điều này sẽ đánh bại nguyên tắc của cơ sở dữ liệu quan hệ, nhưng chúng tôi đang tìm cách nào đó để thực thi rằng công cụ này được sử dụng đúng cách và không bị lạm dụng bởi người dùng không có giáo dục.
Chúng tôi đang xem xét việc triển khai Resource Governor để phân bổ một lượng tài nguyên máy nhất định cho các truy vấn xấu này.