PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Transaksi tidak dapat menangani perintah paralel melalui Task.WhenAll

Tidak ada yang ajaib di sini, Anda mendapatkan kesalahan karena koneksi yang Anda gunakan saat memasukkan CompanyAddress tidak seperti yang Anda pikirkan.

Ini adalah koneksi baru. Saat penyisipan ComapnyPaymentInfo dijalankan, Anda menggunakan koneksi yang sudah terikat dengan transaksi Anda. Perintah baru sedang menunggu karena Anda telah menunggu di langkah sebelumnya.

Penggunaan Task.WhenAll() di sisi lain akan mencoba menggunakan banyak utas. Jika koneksi sibuk menjalankan perintah, itu tidak akan digunakan dan yang baru akan muncul.

Ingatlah bahwa saat menggunakan Transaksi, Anda hanya memiliki satu koneksi yang tersedia, Anda tidak dapat memanfaatkan paralelisme.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa yang setara dengan blok DO untuk Postgres <9.0

  2. Dalam lingkungan multi-server, jika situs tidak aktif selama lebih dari 15 menit, server kehilangan koneksi ke database PostgreSQL

  3. PostgreSQL - FATAL:Otentikasi identitas gagal untuk pengguna pengguna saya

  4. Lakukan peningkatan alembic dalam beberapa skema

  5. Rails + Postgres drop error:database sedang diakses oleh pengguna lain