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

Postgresql lambat dihapus dari mana ada

Menghapus 3,7 juta baris sangat memakan waktu, karena overhead mencari setiap baris dan kemudian logging dan menghapus baris. Memikirkan semua halaman kotor, pencatatan log, dan cache yang terlewatkan saja sudah membingungkan -- belum lagi pembaruan pada indeks juga.

Oleh karena itu, hal seperti ini bisa lebih cepat:

create temporary table temp_n2p as 
    select n2p.*
    from "target".name2phoneme n2p
    where not exists (select 1
                      from delta.name2phoneme d 
                      where n2p.NAME_ID = d.NAME_ID and
                            n2p.PHONEME_ID = d.PHONEME_ID
                     );

truncate table "target".name2phoneme;

insert into "target".name2phoneme
    select *
    from temp_n2p;

Anda juga harus menghapus indeks sebelum pemotongan dan kemudian membuatnya kembali setelahnya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Konfigurasikan koneksi jarak jauh RubyMine ke Heroku PostgreSQL

  2. GroupingError:ERROR:kolom harus muncul di klausa GROUP BY atau digunakan dalam fungsi agregat

  3. Saya tidak dapat terhubung ke Postgres DB dengan Strapi di Heroku

  4. Apakah ada jalan pintas untuk menggunakan dblink di Postgres?

  5. Postgresql bagaimana cara memilih nilai di kolom dari satu tabel yang hanya tersedia di tabel lain?