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

Postgresql xóa chậm từ nơi tồn tại

Việc xóa 3,7 triệu hàng rất tốn thời gian, vì bạn phải tìm kiếm từng hàng rồi ghi nhật ký và xóa các hàng. Chỉ nghĩ về tất cả các trang bẩn, ghi nhật ký và bỏ sót bộ nhớ cache là bạn cảm thấy bối rối - chưa kể đến các bản cập nhật cho các chỉ mục.

Vì lý do đó, một cái gì đó như thế này có thể nhanh hơn nhiều:

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;

Bạn cũng nên loại bỏ các chỉ mục trước khi cắt bớt và sau đó tạo lại chúng sau đó.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đơn giản hóa trường hợp lồng nhau khi câu lệnh

  2. Làm cách nào để tách mảng 2d thành mảng 1d một cách nhanh chóng trong PostgreSQL?

  3. Cách định cấu hình postgresql postgresql.conf nghe_addresses cho nhiều địa chỉ ip

  4. Nhận tổng khoảng thời gian từ nhiều hàng nếu chuỗi không bị hỏng

  5. Khóa và thực hiện đồng thời một thủ tục được lưu trữ