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

Chèn hàng loạt Oracle bằng SQL Developer

SQL * Loader là cách yêu thích của tôi để tải hàng loạt khối lượng dữ liệu lớn vào Oracle. Sử dụng tùy chọn chèn đường dẫn trực tiếp để có tốc độ tối đa nhưng phải hiểu tác động của tải đường dẫn trực tiếp (ví dụ:tất cả dữ liệu được chèn qua vạch nước cao, điều này sẽ tốt nếu bạn cắt bớt bảng của mình). Nó thậm chí còn có một dung sai cho các hàng xấu, vì vậy nếu dữ liệu của bạn có "một số" lỗi, nó vẫn có thể hoạt động.

SQL * Loader có thể tạm dừng các chỉ mục và xây dựng tất cả chúng ở cuối, điều này làm cho việc chèn hàng loạt rất nhanh.

Ví dụ về lệnh gọi SQL * Loader:

$SQLDIR/sqlldr /@MyDatabase direct=false silent=feedback \
    control=mydata.ctl log=/apps/logs/mydata.log bad=/apps/logs/mydata.bad \
    rows=200000

Và mydata.ctl sẽ trông giống như sau:

LOAD DATA
INFILE '/apps/load_files/mytable.dat'
INTO TABLE my_schema.my_able
FIELDS TERMINATED BY "|"
 (ORDER_ID,
  ORDER_DATE,
  PART_NUMBER,
  QUANTITY)

Ngoài ra ... nếu bạn chỉ đang sao chép toàn bộ nội dung của bảng này sang bảng khác, trên các cơ sở dữ liệu, bạn có thể thực hiện việc này nếu DBA của bạn thiết lập DBlink (quy trình 30 giây), giả sử DB của bạn được thiết lập với không gian làm lại để hoàn thành điều này.

truncate table my_schema.my_table;

insert into my_schema.my_table
select * from [email protected]_remote_db;

Việc sử dụng /* +append */ gợi ý vẫn có thể sử dụng chèn đường dẫn trực tiếp.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng ROWID để định vị Hàng / Bản ghi trong Oracle có an toàn không?

  2. Làm việc với ngày tháng trong Oracle SQL

  3. Kết nối với Cơ sở dữ liệu Oracle 12c từ Phiên bản Cộng đồng Tích hợp Dữ liệu Pentaho (Kettle)

  4. Truy vấn PHP Oracle lựa chọn câu lệnh bên trong vòng lặp chậm

  5. Làm thế nào để sử dụng trình tự Oracle hiện có để tạo id trong chế độ ngủ đông?