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

Tại sao việc sử dụng con trỏ trong SQL Server được coi là thực tiễn xấu?

Vì con trỏ chiếm bộ nhớ và tạo khóa.

Những gì bạn thực sự đang làm là cố gắng đưa công nghệ dựa trên thiết lập vào chức năng dựa trên không dựa trên thiết lập. Và, công bằng mà nói, tôi nên chỉ ra rằng con trỏ làm có mục đích sử dụng, nhưng chúng bị phản đối vì nhiều người không quen sử dụng các giải pháp dựa trên tập hợp sử dụng con trỏ thay vì tìm ra giải pháp dựa trên tập hợp.

Tuy nhiên, khi bạn mở một con trỏ, về cơ bản bạn đang tải các hàng đó vào bộ nhớ và khóa chúng, tạo ra các khối tiềm năng. Sau đó, khi bạn di chuyển qua con trỏ, bạn đang thực hiện các thay đổi đối với các bảng khác và vẫn giữ tất cả bộ nhớ và khóa của con trỏ luôn mở.

Tất cả đều có khả năng gây ra các vấn đề về hiệu suất cho những người dùng khác.

Vì vậy, theo nguyên tắc chung, các con trỏ sẽ không được chấp nhận. Đặc biệt nếu đó là giải pháp đầu tiên được đưa ra để giải quyết một vấn đề.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hiệu suất máy chủ SQL TOP IO Truy vấn -1

  2. Sử dụng XEvent Profiler để nắm bắt các truy vấn trong SQL Server

  3. Nhập tệp CSV vào SQL Server

  4. Làm cách nào để lấy danh sách tên phần tử từ một giá trị XML trong SQL Server

  5. Khắc phục sự cố các truy vấn chạy dài trong MS SQL Server