Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Chế độ xem được lập chỉ mục so với các chỉ mục trên bảng

Chế độ xem được lập chỉ mục sẽ gây ra các vấn đề tương tự như chỉ mục trên cột, bởi vì các chế độ xem được lập chỉ mục yêu cầu with schemabinding , liên kết trực tiếp với bảng, không cho phép bạn thay đổi / thay đổi lược đồ của bảng đó theo bất kỳ cách nào, hình dạng hoặc biểu mẫu nào. Điều này bao gồm việc thay đổi kích thước cột (ví dụ:-from varchar(50) thành varchar(255) ), thay đổi kiểu dữ liệu của cột (ví dụ:-from double thành decimal(18,5) ), v.v. Tôi đã thấy họ gây ra rất nhiều cơn đau đầu bất ngờ do thực tế này.

Đề xuất của tôi là thiết lập một quy trình được lưu trữ hoặc gói SSIS sẽ tạo một bảng báo cáo cho bạn được chạy mỗi giờ hoặc lâu hơn. Bằng cách này, bạn có thể lập chỉ mục địa ngục luôn yêu thích của nó và tận hưởng tất cả những lợi ích về hiệu suất mà nó tạo ra. Tôi không muốn báo cáo từ một hệ thống đang hoạt động. Tôi thực sự vẫn chưa thấy trường hợp điều này là cần thiết. Đối với mục đích báo cáo, thông tin hàng giờ thường hoàn toàn đủ để hoàn thành công việc.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server thoát một gạch dưới

  2. Sao chép dữ liệu từ Salesforce sang SQL Server với Spectral Core

  3. Cách lấy ngày đầu tiên và ngày cuối cùng của tháng trước (có dấu thời gian) trong SQL Server

  4. Hàm tổng hợp tùy chỉnh (concat) trong SQL Server

  5. Tìm kiếm một chuỗi trong tất cả các bảng, hàng và cột của DB