Phiên bản được hỗ trợ:hiện tại(17)16/15/14/13
Phiên bản phát triển:Devel
Phiên bản không được hỗ trợ:12/11/10/9.6/9.5/9.4/9.3/9.2/9.1/9.0/8.4/8.3/8.2/8.1/8.0/7.4/7.3/7.2/7.1
Tài kèo bóng đá pháp 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ùng một trang chohiện tạiPhiên bản hoặc một trong 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ữ kèo bóng đá pháp

Người ta có thể cần phải chèn một lượng lớn dữ kèo bóng đá pháp khi lần đầu tiên điền vào cơ sở dữ kèo bóng đá pháp. Phần này chứa một số đề xuất 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ụng nhiềuChèns, tắt autoCommit và chỉ thực hiện một cam kết ở cuối. (Trong SQL đơn giản, điều này có nghĩa là phát hànhbắt đầuKhi bắt đầu vàcam kếtỞ cuối. 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 thực hiện nó khi bạn muốn nó được thực hiện.) Nếu bạn cho phép mỗi lần chèn được cam kết riêng biệt,PostgreSQLđang làm rất nhiều công việc cho mỗi hàng được thêm vào. Một lợi ích bổ sung của việc thực hiện tất cả các chèn trong một giao dịch là nếu việc chèn một hàng không thành công thì việc chèn tất cả các hàng được chèn vào điểm đó sẽ được cuộn lại, vì vậy bạn sẽ không bị kẹt với dữ kèo bóng đá pháp được tải một phần.

14.4.2.Sử dụngCopy

Sử dụngCopyĐể tải tất cả các hàng trong một lệnh, thay vì sử dụng một loạtChènlệnh. TheCopyLệnh được tối ưu hóa để tải số lượng lớn các hàng; nó ít linh hoạt hơnChèn, nhưng phải chịu chi phí thấp hơn đáng kể cho tải dữ kèo bóng đá pháp lớn. TừCopylà một lệnh duy nhất, không cần phải vô hiệu hóa AutoCommit nếu bạn sử dụng phương thức này để điền kèo bóng đá pháp bảng.

Nếu bạn không thể sử dụngCopy, nó có thể giúp sử dụngChuẩn bịĐể tạo ra một chế biếnChènCâu lệnh, sau đó sử dụngthực thiBao nhiêu lần theo yêu cầu. Điều này tránh được một số chi phí của phân tích và lập kế hoạch liên tụcChèn. Các giao diện khác nhau cung cấp cơ sở này theo những cách khác nhau;MạnhCâu lệnh được chuẩn bịKhănTrong tài kèo bóng đá pháp giao diện.

Lưu ý rằng việc tải một số lượng lớn các hàng bằng cách sử dụngCopyhầu như luôn nhanh hơn sử dụngChèn, ngay cả khiChuẩn bịđược sử dụng và nhiều lần chèn được đặt kèo bóng đá pháp một giao dịch duy nhất.

Copynhanh nhất khi được sử dụng trong cùng một giao dịch với trước đóTạo bảnghoặccắt ngắnlệnh. Trong những trường hợp như vậy, không cần viết WAL, bởi vì trong trường hợp có lỗi, các tệp chứa dữ kèo bóng đá pháp mới được tải sẽ bị xóa.Wal_Leveltối thiểuĐối với các bảng không phân vùng như tất cả các lệnh phải viết wal nếu không.

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, phương pháp nhanh nhất là tạo bảng, tải số lượng lớn dữ kèo bóng đá pháp của bảng bằng cách sử dụngCopy, 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ữ kèo bóng đá pháp tồn tại trước đó nhanh hơn so với việc cập nhật nó tăng dần khi mỗi hàng được tải.

Nếu bạn đang thêm một lượng lớn dữ kèo bóng đá pháp vào một bảng hiện có, thì đó 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, hiệu suất cơ sở dữ kèo bóng đá pháp cho người dùng khác có thể bị ảnh hưởng trong thời gian các chỉ mục bị thiếu.

14.4.4.Xóa các ràng buộc khóa nước ngoài

Giống như với các chỉ mục, có thể kiểm tra một ràng buộc khóa nước ngoàivới số lượng lớnhiệu quả hơn hàng từng hàng. Vì vậy, có thể hữu ích khi bỏ các ràng buộc khóa nước ngoài, tải dữ kèo bóng đá pháp và tạo lại các ràng buộc.

Hơn nữa, khi bạn tải dữ kèo bóng đá pháp vào một bảng với các ràng buộc khóa nước ngoài hiện có, 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ì đó là việc bắn 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ể khiến 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.cần thiết, không chỉ mong muốn, để giảm và áp dụng lại các khóa nước ngoài khi tải một lượng lớn dữ kèo bóng đá pháp. Nếu tạm thời loại bỏ ràng buộc không được chấp nhận, thì duy nhất có thể là chia hoạt động tải thành các giao dịch nhỏ hơn.

14.4.5.Tăngbảo trì_work_mem

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

14.4.6.TăngMAX_WAL_SIZE

tạm thời tăngMAX_WAL_SIZEBiến cấu hình cũng có thể làm cho tải dữ kèo bóng đá pháp lớn nhanh hơn. Điều này là do tải một lượng lớn dữ kèo bóng đá pháp vàoPostgreSQLsẽ gây ra các điểm kiểm tra xảy ra thường xuyên hơn tần số điểm kiểm tra thông thường (được chỉ định bởiCheckpoint_timeoutBiến cấu hình). Bất cứ khi nào một điểm kiểm tra xảy ra, tất cả các trang bẩn phải được đổ kèo bóng đá pháp đĩa.MAX_WAL_SIZEtạm thời trong quá trình tải dữ kèo bóng đá pháp hàng loạt, số lượng các điểm kiểm tra được yêu cầu có thể được giảm.

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

Khi tải một lượng lớn dữ kèo bóng đá pháp vào một bản cài đặt sử dụng sao chép hoặc phát trực tuyến WAL, có thể sẽ nhanh hơ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ữ kèo bóng đá pháp WAL gia tăng. Để ngăn chặn việc đăng nhập WAL tăng dần trong khi tải, vô hiệu hóa sao chép và phát trực tuyến sao chép, 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ủ.

20578_20773Wal_Leveltối thiểu. (Họ có thể đảm bảo an toàn sự cố với giá rẻ hơn bằng cách thực hiệnfsyncCuối cùng bằng cách viết wal.) Điều này áp dụng cho các lệnh sau:

  • Tạo bảng như chọn

  • Tạo chỉ mục(và các biến thể nhưBảng thay đổi Thêm phím chính)

  • thay đổi bảng không gian bảng

  • cụm

  • Sao chép từ, khi bảng đích đã được tạo hoặc cắt ngắn sớm hơn trong cùng một giao dịch

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

Bất cứ khi nào bạn đã thay đổi đáng kể phân phối dữ kèo bóng đá pháp trong bảng, chạyPhân tíchđược khuyến nghị mạnh mẽ. Điều này bao gồm tải số lượng lớn một lượng lớn dữ kèo bóng đá pháp vào bảng.Phâ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ó số kèo bóng đá pháp thống kê cập nhật về bảng. Không có số kèo bóng đá pháp 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 nào có số kèo bóng đá pháp thống kê không chính xác hoặc không tồn tại.Phân tíchtự động; nhìn thấyPhần 24.1.3Phần 24.1.6Để biết thêm thông 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ự động áp dụng một số, nhưng không phải tất cả các hướng dẫn trên. Để khôi phục mộtpg_dumpDump càng nhanh càng tốt, bạn cần phải làm thêm một kèo bóng đá phápi thứ theo cách thủ công. (Lưu ý rằng các điểm này áp dụng trong khiKhôi phụcMột bãi rác, không phải trong khiTạoNó. Các điểm giống nhau áp dụng cho dù đang tải một kết xuất văn bản vớiPSQLhoặc sử dụngpg_restoreĐể tải từ Apg_dumpTệp lưu trữ.)

Theo mặc định,pg_dumpsử dụngCopyvà khi nó tạo ra một kết xuất lược đồ và dữ kèo bóng đá pháp hoàn chỉnh, sẽ cẩn thận tải dữ kèo bóng đá pháp trước khi tạo các 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.

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

  • Nếu sử dụng sao chép hoặc phát trực tuyến WAL, hãy xem xét việc 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.

  • Thử nghiệm với các chế độ kết xuất và khôi phục song song của cả haipg_dumppg_restorevà tìm số lượng công việc đồng thời tối ưu để sử dụng. Bán phá giá và khôi phục song song bằng-JTùy chọn sẽ cung cấp cho bạn hiệu suất cao hơn đáng kể so với chế độ nối tiếp.

  • Xem xét kèo bóng đá pháp toàn bộ bãi rác có nên được khôi phục như một giao dịch duy nhất hay không. Để làm điều đó, vượt qua-1hoặc--Single-TransactionTùy chọn dòng lệnh thànhPSQLhoặcpg_restore. Khi sử dụng chế độ này, ngay cả các lỗi nhỏ nhất cũng sẽ cuộn lại toàn bộ khôi phục, có thể loại bỏ nhiều giờ xử lý.CopyCác lệnh sẽ chạy nhanh nhất nếu bạn sử dụng 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ữ kèo bóng đá pháp, hãy xem xét sử dụngpg_restore's--JobsTùy chọn. Điều này cho phép tải dữ kèo bóng đá pháp đồng thời và tạo chỉ mục.

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

Một kết xuất chỉ có dữ kèo bóng đá pháp vẫn sẽ sử dụngCopy, 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 kèo bóng đá pháp các khóa nước ngoài.[13]Vì vậy, khi tải một kết xuất chỉ có dữ kèo bóng đá pháp, bạn sẽ tùy thuộc vào và tái tạo các chỉ mục và khóa nước ngoài nếu bạn muốn sử dụng các kỹ thuật đó. Nó vẫn hữu ích để tăngMAX_WAL_SIZETrong khi tải dữ kèo bóng đá pháp, nhưng đừng bận tâm tăngbảo trì_work_mem; Thay kèo bóng đá pháp đó, bạn sẽ làm điều đó trong khi tái tạo thủ công các chỉ mục và khóa nước ngoài sau đó.Phân tíchKhi bạn hoàn thành; nhìn thấyPhần 24.1.3Phần 24.1.6Để biết thêm thông tin.



[13]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ụng--bị-TriggersTùy chọn - Nhưng nhận ra rằng việc loại bỏ, thay vì chỉ là postpones, xác thực khóa nước ngoài và do đó có thể chèn dữ kèo bóng đá pháp xấu nếu bạn sử dụng nó.