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

cập nhật một bảng oracle rất lớn

Để tránh ghi vào nhật ký hoàn tác của Oracle nếu update của bạn câu lệnh truy cập vào mọi hàng đơn lẻ của bảng thì bạn có khả năng tốt hơn nên chạy create table as select truy vấn sẽ bỏ qua tất cả nhật ký hoàn tác, có thể là vấn đề bạn đang gặp phải vì nó đang ghi lại tác động trên 60 triệu hàng. Sau đó, bạn có thể bỏ bảng cũ và đổi tên bảng mới thành tên của bảng cũ.

Một cái gì đó như:

create table new_people as
select l.newid,
       p.col2,
       p.col3,
       p.col4,
       p.col5
  from people p
  join id_conversion l
    on p.id = l.id;

drop table people;

-- rebuild any constraints and indexes
-- from old people table to new people table

alter table new_people rename to people;

Để tham khảo, hãy đọc một số mẹo tại đây: http://www.dba-oracle.com /t_enough_update_sql_dml_tips.htm

Về cơ bản, nếu bạn đang tạo một bảng mới và không chỉ cập nhật một số hàng của bảng, nó có thể sẽ chứng minh phương pháp nhanh hơ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. Làm thế nào để tham chiếu id của cha mẹ trong id của trẻ với JPA / Hibernate?

  2. Hiển thị tên bộ phận bằng cách sử dụng con trỏ Tạo một khối PL / SQL để hiển thị tất cả tên bộ phận từ bảng Bộ phận bằng cách sử dụng con trỏ

  3. Xử lý ngoại lệ ORACLE

  4. Tạo khóa tự động Hibernate với MySQL và Oracle

  5. Lỗi Xmlparserv2 khi ứng dụng được triển khai trong jboss, Cài đặt mô-đun ojdbc Oracle trong ứng dụng web JBoss dành cho Java