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

Bạn nên thực hiện nhiều cuộc gọi chèn hay chuyển XML?

Không có gì xúc phạm, nhưng bạn đang nghĩ quá kỹ điều này.

Thu thập thông tin của bạn, khi bạn có tất cả cùng nhau, hãy tạo một giao dịch và chèn các hàng mới cùng một lúc. Không có hiệu suất bị ảnh hưởng ở đây, vì giao dịch sẽ tồn tại trong thời gian ngắn.

Một vấn đề sẽ là nếu bạn tạo giao dịch trên kết nối, chèn hàng người dùng, sau đó đợi người dùng nhập thêm thông tin hồ sơ, hãy chèn thông tin đó, sau đó đợi họ thêm thông tin địa chỉ, sau đó chèn hàng đó, KHÔNG ĐƯỢC LÀM VIỆC NÀY , đây là một giao dịch chạy dài không cần thiết và sẽ tạo ra vấn đề.

Tuy nhiên, kịch bản của bạn (nơi bạn có tất cả dữ liệu) là sử dụng đúng một giao dịch, nó đảm bảo tính toàn vẹn của dữ liệu và sẽ không gây bất kỳ căng thẳng nào cho cơ sở dữ liệu của bạn, và sẽ không - tự nó - tạo ra các bế tắc.

Hy vọng điều này sẽ hữu ích.

P.S. Hạn chế của cách tiếp cận Xml là sự phức tạp tăng thêm, mã của bạn cần phải biết lược đồ của xml, thủ tục được lưu trữ của bạn cũng cần biết lược đồ Xml. Thủ tục được lưu trữ có thêm sự phức tạp khi phân tích cú pháp xml, sau đó chèn các hàng. Tôi thực sự không thấy lợi thế của sự phức tạp thêm đối với một giao dịch ngắn hạn đơn giản là gì.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách khắc phục “Yêu cầu GIAO DỊCH COMMIT không có GIAO DỊCH BẮT ĐẦU tương ứng” trong SQL Server

  2. SQL Server PIVOT có lẽ?

  3. Thêm một cột vào bảng, nếu nó chưa tồn tại

  4. SQL So sánh Tổng số đơn đặt hàng hàng giờ và loại bỏ hàng tồn kho hiện tại có thể xảy ra?

  5. Lưu trữ công thức (phương trình) trong cơ sở dữ liệu để đánh giá sau (SQL Server 2005)