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

Quy trình đồng thời chèn dữ liệu vào cơ sở dữ liệu

Cách đơn giản nhất dường như là sử dụng mức cô lập giao dịch 'có thể tuần tự hóa', ngăn chặn việc đọc ảo (người khác chèn dữ liệu sẽ đáp ứng một CHỌN trước đó trong giao dịch của bạn).

if (!conn.getMetaData().supportsTransactionIsolationLevel(Connection.TRANSACTION_SERIALIZABLE)) {
    // OK, you're hosed. Hope for your sake your drivers supports this isolation level 
}
conn.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);

Ngoài ra còn có các kỹ thuật như câu lệnh "MERGE" của Oracle - một câu lệnh đơn có chức năng 'chèn hoặc cập nhật', tùy thuộc vào dữ liệu có ở đó hay không. Tôi không biết liệu Postgres có tương đương hay không, nhưng có những kỹ thuật để 'giả mạo nó' - xem ví dụ: Cách viết CHÈN NẾU KHÔNG TỒN TẠI các truy vấn trong SQL chuẩ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. Postgres FK tham chiếu PK tổng hợp

  2. Thiết lập Django với Hỗ trợ GeoDjango trong AWS Beanstalk hoặc Phiên bản EC2

  3. Định dạng thời gian Rails Activerecord / Postgres

  4. Tìm nạp các hàng từ nhiều bảng với UNION ALL hay sử dụng một bảng trong sản xuất?

  5. Làm cách nào để tôi có thể truy vấn một cách an toàn (gián tiếp) cơ sở dữ liệu postgresql trong android?