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

Cara tercepat untuk mengeksekusi kueri penghapusan dalam tabel besar di PostgreSQL

Jika kueri ini memakan waktu lama:

delete from PlanItems p where p.jobId = :jobid

dan anda memiliki indeks di PlanItmes(jobId) -- di mana jobId adalah kolom pertama dalam indeks -- maka Anda perlu mempertimbangkan masalah lain.

  1. Apakah ada batasan kunci asing berjenjang yang menggunakan jobId ? Jika demikian, kaskade dapat memengaruhi tabel tersebut -- dan jika kaskade menghapus, menghapus baris tersebut dapat memengaruhi lebih banyak tabel.

  2. Apakah ada pemicu penghapusan di atas meja? Jika demikian, penghapusan "sederhana" Anda mungkin melakukan lebih banyak pekerjaan daripada yang Anda kira.

  3. Apakah ada beban berat pada sistem? Jika demikian, waktunya mungkin hanya menunggu kesempatan untuk menghapus baris.

  4. Apakah tampilan terwujud dibangun di atas meja? Jika demikian, mereka mungkin sedang disegarkan.

Jika tidak satu pun dari kasus ini, mungkin ada masalah tentang cara Anda mengukur waktu yang telah berlalu.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Masalah saat mengkompilasi program dengan pqxx

  2. Menggunakan interval di PostgreSQL dengan Ruby on Rails

  3. PostgreSQL - pilih count(*) untuk baris di mana kondisi berlaku

  4. Tanggal dalam format mmm yyyy di postgresql

  5. Bagaimana cara mengabaikan SequelizeUniqueConstraintError di Sequelize?