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

SQL Server - Hợp nhất các bảng lớn mà không khóa dữ liệu

Thay đổi giao diện người dùng của bạn để sử dụng NOLOCK hoặc READ UNCOMMITTED khi thực hiện các lựa chọn .

Bạn không thể NOLOCK MERGE, INSERT hoặc UPDATE vì các bản ghi phải được khóa để thực hiện cập nhật. Tuy nhiên, bạn có thể CHỌN LỰA CHỌN.

Lưu ý rằng bạn nên sử dụng nó một cách thận trọng. Nếu đọc bẩn vẫn ổn, thì hãy tiếp tục. Tuy nhiên, nếu các lần đọc yêu cầu dữ liệu cập nhật thì bạn cần phải đi xuống một con đường khác và tìm ra chính xác lý do tại sao việc hợp nhất các bản ghi 3M lại gây ra sự cố.

Tôi sẵn sàng đặt cược rằng phần lớn thời gian được dành để đọc dữ liệu từ đĩa trong khi thực hiện lệnh hợp nhất và / hoặc giải quyết các tình huống bộ nhớ thấp. Tốt hơn hết là bạn nên nhồi thêm ram vào máy chủ cơ sở dữ liệu của mình.

Một số lượng lý tưởng sẽ là có đủ ram để kéo toàn bộ cơ sở dữ liệu vào bộ nhớ khi cần thiết. Ví dụ:nếu bạn có cơ sở dữ liệu 4GB, thì hãy đảm bảo rằng bạn có 8GB RAM .. trong máy chủ x64.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Phương pháp lưu trữ mật khẩu trong cơ sở dữ liệu ưa thích

  2. bcp:Error =[Microsoft] [SQL Server Native Client 10.0] Dữ liệu chuỗi, cắt ngắn bên phải

  3. Làm thế nào để chọn tất cả các bản ghi từ một bảng mà không tồn tại trong một bảng khác?

  4. Chuyển đổi ‘smalldatetime’ thành ‘datetimeoffset’ trong SQL Server (Ví dụ T-SQL)

  5. Lấy tên cột từ truy vấn không có dữ liệu