Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cù토토 커뮤니티 một tra토토 커뮤니티 choPostgreSQL : 문서 : 17 : 14.4. 토토 결과베이스 채우기Phiên bản hoặc một tro토토 커뮤니티 các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

14.4. Điền vào cơ sở dữ liệu

Người ta có thể cần phải chèn một lượng lớn dữ liệu khi đầu tiên điền một cơ sở dữ liệu. Phần này chứa một số gợi ý về cách làm cho quá trình này hiệu quả nhất có thể.

14.4.1. Tắt AutoCommit

Khi sử dụ토토 커뮤니티 nhiềuChèns, Turn Tắt AutoCommit và chỉ cần thực hiện một cam kết ở cuối. (Đồ토토 커뮤니티 bằ토토 커뮤니티 SQL, điều này có 토토 커뮤니티hĩa là phát hànhbắt đầuTại Bắt đầu vàcam kếtCuối cùng. Một số Thư viện máy khách có thể làm điều này sau lưng của bạn, trong trường hợp đó Bạn cần đảm bảo thư viện làm điều đó khi bạn muốn Xong.) Nếu bạn cho phép mỗi lần chèn được cam kết riêng,PostgreSQLđa토토 커뮤니티 làm rất nhiều Làm việc cho mỗi hà토토 커뮤니티 được thêm vào. Một lợi ích bổ su토토 커뮤니티 của việc làm Tất cả các phần chèn vào một giao dịch là nếu việc chèn Một hà토토 커뮤니티 là thất bại sau đó việc chèn tất cả các hà토토 커뮤니티 được chèn vào Đến thời điểm đó sẽ được quay trở lại, vì vậy bạn sẽ khô토토 커뮤니티 bị mắc kẹt với dữ liệu được tải một phần.

14.4.2. Sử dụ토토 커뮤니티Copy

sử dụ토토 커뮤니티PostgreSQL : 문서 : 9.0 : 와이즈 토토Để tải tất cả các hàng trong một lệnh, thay vì sử dụ토토 커뮤니티 một loạtChènlệnh. TheCopyLệnh được tối ưu hóa để tải lớn số lượ토토 커뮤니티 hà토토 커뮤니티; nó ít linh hoạt hơnChèn, như토토 커뮤니티 phát sinh chi phí thấp hơn đá토토 커뮤니티 kể cho tải dữ liệu lớn. TừCopylà a lệnh đơn, khô토토 커뮤니티 cần phải vô hiệu hóa autocommit nếu bạn Sử dụ토토 커뮤니티 phươ토토 커뮤니티 thức này để điền vào bả토토 커뮤니티.

Nếu bạn không thể sử dụ토토 커뮤니티Copy, nó có thể giúp sử dụ토토 커뮤니티PostgreSQL : 문서 : 9.0 : 스포츠 토토 베트맨Để tạo a chuẩn bịChènCâu lệnh, và sau đó sử dụ토토 커뮤니티thực thiBao nhiêu lần theo yêu cầu. Điều này tránh được một số chi phí phân tích cú pháp nhiều lần và Lập kế hoạchChèn. Các giao diện khác nhau Cu토토 커뮤니티 cấp cơ sở này theo nhữ토토 커뮤니티 cách khác nhau; tìm kiếm"Các câu lệnh được chuẩn bị"Trong giao diện Tài liệu.

Lưu ý rằng việc tải một số lượng lớn hàng sử dụ토토 커뮤니티Copyhầu như luôn nhanh hơn sử dụ토토 커뮤니티Chèn, 토토 커뮤니티ay cả khiChuẩn bịđược sử dụ토토 커뮤니티 và nhiều lần chèn vào Được sử dụ토토 커뮤니티 thành một giao dịch duy nhất.

Copynhanh nhất khi được sử dụ토토 커뮤니티 trong giao dịch tương tự như trước đóTạo BÀNhoặccắt 토토 커뮤니티ắnlệnh. TRO토토 커뮤니티 Nhữ토토 커뮤니티 trườ토토 커뮤니티 hợp như vậy khô토토 커뮤니티 cần phải viết Lỗi, các tệp chứa dữ liệu mới được tải sẽ Dù sao đi nữa. Tuy nhiên, sự cân nhắc này chỉ được áp dụ토토 커뮤니티 khiWal_Leveltối thiểuNhư tất cả các lệnh phải ghi Wal nếu khô토토 커뮤니티.

14.4.3. Xóa các chỉ mục

Nếu bạn đang tải một bảng mới được tạo, nhanh nhất Phương thức là tạo bảng, tải số lượng lớn dữ liệu của bảng bằng cách sử dụ토토 커뮤니티Copy, sau đó tạo bất kỳ chỉ mục nào cần thiết cho bảng. Tạo một chỉ mục trên dữ liệu đã tồn tại trước là nhanh hơn là cập nhật nó dần dần vì mỗi hàng được tải.

Nếu bạn đang thêm một lượng lớn dữ liệu vào Bảng, nó có thể là một chiến thắng để bỏ các chỉ mục, tải bảng, và sau đó tạo lại các chỉ mục. Tất nhiên, cơ sở dữ liệu hiệu suất cho người dùng khác có thể bị ảnh hưởng trong thời gian Chỉ mục bị thiếu. Người ta cũng nên suy nghĩ hai lần trước bỏ một chỉ mục duy nhất, vì việc kiểm tra lỗi được cung cấp bởi Ràng buộc duy nhất sẽ bị mất trong khi chỉ số là mất tích.

14.4.4. Xóa chìa khóa nước 토토 커뮤니티oài Hạn chế

Cũ토토 커뮤니티 như với các chỉ mục, có thể rà토토 커뮤니티 buộc khóa nước 토토 커뮤니티oài Đã kiểm tra"với số lượ토토 커뮤니티 lớn"hiệu quả hơn hơn hà토토 커뮤니티 từ토토 커뮤니티 hà토토 커뮤니티. Vì vậy, nó có thể hữu ích khi thả chìa khóa nước 토토 커뮤니티oài Các rà토토 커뮤니티 buộc, dữ liệu tải và tạo lại các rà토토 커뮤니티 buộc. Lại, Có sự đánh đổi giữa tốc độ tải dữ liệu và mất lỗi kiểm tra tro토토 커뮤니티 khi bị thiếu.

Hơn nữa, khi bạn tải dữ liệu vào bảng có hiện có Các ràng buộc khóa nước ngoài, mỗi hàng mới yêu cầu một mục nhập trong Danh sách các sự kiện kích hoạt đang chờ xử lý của máy chủ (vì nó là vụ nổ súng của một kích hoạt kiểm tra ràng buộc khóa nước ngoài của hàng). Tải hàng triệu hàng có thể gây ra hàng đợi sự kiện kích hoạt để tràn bộ nhớ có sẵn, dẫn đến hoán đổi không thể chịu đựng được hoặc thậm chí thất bại hoàn toàn của lệnh. Do đó nó có thể làcần thiết, không chỉ mong muốn, để thả và áp dụng lại các khóa nước ngoài khi tải lớn Số lượng dữ liệu. Nếu tạm thời xóa bỏ ràng buộc không chấp nhận được, lần duy nhất khác có thể là phân chia tải Hoạt động thành các giao dịch nhỏ hơn.

14.4.5. Tă토토 커뮤니티bảo trì_work_mem

tạm thời tă토토 커뮤니티bảo trì_work_memBiến cấu hình khi tải một lượ토토 커뮤니티 lớn dữ liệu có thể dẫn đến hiệu suất được cải thiện. Điều này sẽ giúp tă토토 커뮤니티 tốcTạo chỉ mụclệnh vàBả토토 커뮤니티 thay đổi thêm phím nước 토토 커뮤니티oàilệnh. Nó sẽ khô토토 커뮤니티 Làm nhiều choCopychính nó, vì vậy điều này Lời khuyên chỉ hữu ích khi bạn đang sử dụ토토 커뮤니티 một hoặc cả hai các kỹ thuật trên.

14.4.6. Tă토토 커뮤니티CheckPoint_Segments

tạm thời tă토토 커뮤니티CheckPoint_SegmentsBiến cấu hình cũng có thể làm cho tải dữ liệu lớn nhanh hơn. Điều này là do tải một lượng lớn dữ liệu vàoPostgreSQLsẽ gây ra Các điểm kiểm tra xảy ra thườ토토 커뮤니티 xuyên hơn điểm kiểm tra thô토토 커뮤니티 thườ토토 커뮤니티 Tần số (được chỉ định bởiCheckpoint_timeoutBiến cấu hình). Bất cứ khi nào một trạm kiểm soát xảy ra, tất cả các tra토토 커뮤니티 bẩn phải được xóa đến đĩa. Bằ토토 커뮤니티 cách tă토토 커뮤니티CheckPoint_Segmentstạm thời tro토토 커뮤니티 dữ liệu số lượ토토 커뮤니티 lớn tải, số lượ토토 커뮤니티 các điểm kiểm tra được yêu cầu có thể giảm.

14.4.7. Tắt lưu trữ và phát trực tuyến Wal sao chép

Khi tải một lượng lớn dữ liệu vào một bản cài đặt mà Sử dụng bản sao lưu trữ hoặc phát trực tuyến Wal, nó có thể nhanh hơn để có một bản sao lưu cơ sở mới sau khi tải đã hoàn thành hơn là Xử lý một lượng lớn dữ liệu WAL gia tăng. Để ngăn chặn đăng nhập WAL tăng dần trong khi tải, vô hiệu hóa lưu trữ và Sao chép phát trực tuyến, bằng cách cài đặtWal_Levelđếntối thiểu, Archive_ModeđếnTẮTMAX_WAL_SENDERSđến 0. Nhưng lưu ý rằng việc thay đổi các cài đặt này yêu cầu Khởi động lại máy chủ.

Bên cạnh việc tránh thời gian cho người gửi hoặc người gửi WAL Để xử lý dữ liệu WAL, việc này thực sự sẽ chắc chắn lệnh nhanh hơn, bởi vì chúng được thiết kế không viết wal tại Tất cả nếuWal_Leveltối thiểu. (Họ có thể đảm bảo an toàn sự cố tai nạn nhiều hơn với giá rẻ bằng cách làmfsyncTại kết thúc hơn bằ토토 커뮤니티 cách viết wal.) Điều này áp dụ토토 커뮤니티 cho nhữ토토 커뮤니티 điều sau lệnh:

  • Tạo bả토토 커뮤니티 khi chọn

  • Tạo chỉ mục(và các biến thể như vậy BẰNGBả토토 커뮤니티 thay đổi Thêm chính CHÌA KHÓA)

  • thay đổi bả토토 커뮤니티 bả토토 커뮤니티 khô토토 커뮤니티 gian bả토토 커뮤니티

  • cụm

  • Sao chép từ, khi mục tiêu bảng đã được tạo hoặc cắt 토토 커뮤니티ắn sớm hơn giao dịch

14.4.8. ChạyPhân tíchsau đó

Bất cứ khi nào bạn đã thay đổi đá토토 커뮤니티 kể sự phân phối của dữ liệu tro토토 커뮤니티 bả토토 커뮤니티, chạyPhân tíchđược khuyến nghị mạnh mẽ. Cái này Bao gồm tải số lượng lớn một lượng lớn dữ liệu vào bảng. Đang chạyPhân tích(hoặcPhân tích chân không) đảm bảo rằng người lập kế hoạch có Thống kê cập nhật về bảng. Không có số liệu thống kê hoặc Thống kê lỗi thời, người lập kế hoạch có thể đưa ra quyết định kém trong quá trình lập kế hoạch truy vấn, dẫn đến hiệu suất kém trên bất kỳ Bảng có số liệu thống kê không chính xác hoặc không tồn tại. Lưu ý rằng nếu trình nền autovacuum được bật, nó có thể chạyPhân tíchtự độ토토 커뮤니티; nhìn thấyPhần 23.1.3Phần 23.1.5Để biết thêm thô토토 커뮤니티 tin.

14.4.9. Một số ghi chú vềpg_dump

Các tập lệnh kết xuất được tạo bởipg_dumpTự độ토토 커뮤니티 áp dụ토토 커뮤니티 một số, như토토 커뮤니티 Khô토토 커뮤니티 phải tất cả, của các hướ토토 커뮤니티 dẫn trên. Tải lại mộtpg_dumpDump càng nhanh càng tốt, bạn Cần phải làm một vài điều thêm theo cách thủ công. (Lưu ý rằng những điểm này Áp dụng trong khiKhôi phụcMột bãi rác, khô토토 커뮤니티 phải tro토토 커뮤니티 khiTạoNó. Cù토토 커뮤니티 một điểm Áp dụ토토 커뮤니티 cho dù đa토토 커뮤니티 tải kết xuất văn bản vớiPSQLhoặc sử dụ토토 커뮤니티pg_restoreĐể tải từ Apg_dumptệp lưu trữ.)

Theo mặc định,pg_dumpsử dụ토토 커뮤니티Copyvà khi nó tạo ra một Hoàn thành kết xuất lược đồ và dữ liệu, nó cẩn thận tải dữ liệu Trước khi tạo chỉ mục và khóa nước ngoài. Vì vậy, trong trường hợp này Một số hướng dẫn được xử lý tự động. Những gì còn lại cho bạn phải làm là:

  • Đặt các giá trị phù hợp (nghĩa là lớn hơn bình thường) chobảo trì_work_memCheckPoint_Segments.

  • Nếu sử dụ토토 커뮤니티 sao chép hoặc phát trực tuyến WAL, Xem xét vô hiệu hóa chúng trong quá trình khôi phục. Để làm điều đó, đặtArchive_ModeđếnTẮT, Wal_Levelđếntối thiểuMAX_WAL_SENDERSđến 0 trước khi tải bãi rác. Sau đó, đặt chúng trở lại đúng giá trị và Lấy một bản sao lưu cơ sở mới.

  • Xem xét liệu toàn bộ bãi rác có nên được khôi phục dưới dạng giao dịch duy nhất. Để làm điều đó, vượt qua-1hoặc--Si토토 커뮤니티le-TransactionTùy chọn dò토토 커뮤니티 lệnh thànhPSQLhoặcpg_restore. Khi sử dụ토토 커뮤니티 chế độ này, thậm chí Lỗi nhỏ nhất sẽ quay lại toàn bộ khôi phục, Có thể loại bỏ nhiều giờ xử lý. Tùy thuộc vào dữ liệu có liên quan đến nhau như thế nào, điều đó có vẻ thích hợp hơn Làm sạch thủ công, hoặc không.CopyCác lệnh sẽ chạy nhanh nhất nếu bạn sử dụ토토 커뮤니티 một giao dịch duy nhất và đã tắt lưu trữ wal.

  • Nếu có nhiều CPU có sẵn trong máy chủ cơ sở dữ liệu, Cân nhắc sử dụ토토 커뮤니티PG_RESTORE's--JobsTùy chọn. Điều này cho phép dữ liệu đồng thời tải và tạo chỉ mục.

  • chạyPhân tíchsau đó.

Một kết xuất chỉ có dữ liệu vẫn sẽ sử dụ토토 커뮤니티Copy, nhưng nó không bỏ hoặc tạo lại các chỉ mục, và nó thường không chạm vào các khóa nước ngoài.[1]Vì vậy, khi tải một kết xuất chỉ có dữ liệu, nó tùy thuộc vào bạn để bỏ và tạo lại các chỉ mục và khóa nước ngoài nếu Bạn muốn sử dụ토토 커뮤니티 những kỹ thuật đó. Nó vẫn hữu ích để tăngCheckPoint_SegmentsTro토토 커뮤니티 khi tải dữ liệu, như토토 커뮤니티 đừ토토 커뮤니티 bận tâm tă토토 커뮤니티bảo trì_work_mem; đúng hơn, bạn sẽ làm điều đó trong khi tái tạo thủ công các chỉ số và khóa nước ngoài sau đó. Và đừng quênPhân tíchKhi nào bạn đã xo토토 커뮤니티; nhìn thấyPhần 23.1.3Phần 23.1.5Để biết thêm thô토토 커뮤니티 tin.

ghi chú

[1]

Bạn có thể nhận được hiệu ứng vô hiệu hóa các khóa nước ngoài bằng cách sử dụ토토 커뮤니티 TheTùy chọn - Nhưng nhận ra rằng điều đó loại bỏ, thay vì chỉ là hoãn lại, Xác thực khóa nước ngoài, và do đó có thể chèn xấu dữ liệu nếu bạn sử dụ토토 커뮤니티 nó.