Postgresql 9.0.23 Tài kèo bóng đá hom nay | ||||
---|---|---|---|---|
Prev | UP | Chương 14. Mẹo hiệu suất | Tiếp theo |
Người ta có thể cần phải chèn một lượng lớn dữ kèo bóng đá hom nay khi đầu tiên điền một cơ sở dữ kèo bóng đá hom nay. 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ể.
Khi sử dụng nhiềuChèns, Turn Tắt AutoCommit và chỉ cần thực hiện kèo bóng đá hom nay cam kết ở cuối. (Đồng bằng SQL, điều này có nghĩa là phát hànhbắt đầuTại Bắt đầu vàcam kếtCuối cùng. kèo bóng đá hom nay 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đang làm rất nhiều Làm việc cho mỗi hàng được thêm vào. Một lợi ích bổ sung 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àng là thất bại sau đó việc chèn tất cả các hàng được chèn vào Đến thời điểm đó sẽ được quay trở lại, vì vậy bạn sẽ không bị mắc kẹt với dữ kèo bóng đá hom nay được tải một phần.
sử dụngCopyĐể tải tất cả các hàng trong kèo bóng đá hom nay lệnh, thay vì sử dụng kèo bóng đá hom nay loạtChènlệnh. TheCopyLệnh được tối ưu hóa để tải lớn số lượng hàng; nó ít linh hoạt hơnChèn, nhưng phát sinh chi phí thấp hơn đáng kể cho tải dữ kèo bóng đá hom nay lớn. TừCopylà a lệnh đơn, 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 đá hom nayo bảng.
Nếu bạn không thể sử dụngCopy, nó có thể giúp sử dụngChuẩn bịĐể tạo a chuẩn bịChènCâu lệnh, và sau đó sử dụngthực thiBao nhiêu lần theo yêu cầu. Điều này tránh được kèo bóng đá hom nay số chi phí phân tích cú pháp nhiều lần và Lập kế hoạchChèn. kèo bóng đá hom nay giao diện khác nhau Cung cấp cơ sở này theo những cách khác nhau; tìm kiếm"kèo bóng đá hom nay câu lệnh được chuẩn bị"Trong giao diện Tài kèo bóng đá hom nay.
Lưu ý rằng việc tải kèo bóng đá hom nay số lượng lớn hàng 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 vào Được sử dụng thành kèo bóng đá hom nay giao dịch duy nhất.
Copynhanh nhất khi được sử dụng trong giao dịch tương tự như trước đóTạo BÀNhoặccắt ngắnlệnh. TRONG Những trường hợp như vậy không cần phải viết Lỗi, các tệp chứa dữ kèo bóng đá hom nay 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ụng khiWal_Levellàtối thiểuNhư tất cả kèo bóng đá hom nay lệnh phải ghi Wal nếu không.
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ữ kèo bóng đá hom nay 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 đá hom nay đã 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ữ kèo bóng đá hom nay 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ữ kèo bóng đá hom nay 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.
Cũng như với kèo bóng đá hom nay chỉ mục, có thể ràng buộc khóa nước ngoài Đã kiểm tra"với số lượng lớn"hiệu quả hơn hơn hàng từng hàng. Vì vậy, nó có thể hữu ích khi thả chìa khóa nước ngoài Các ràng buộc, dữ kèo bóng đá hom nay tải và tạo lại các ràng buộc. Lại, Có sự đánh đổi giữa tốc độ tải dữ kèo bóng đá hom nay và mất lỗi kiểm tra trong khi bị thiếu.
Hơn nữa, khi bạn tải dữ kèo bóng đá hom nay 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ữ kèo bóng đá hom nay. 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.
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 đá hom nay 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 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ụng kèo bóng đá hom nay hoặc cả hai các kỹ thuật trên.
tạm thời tăngCheckPoint_SegmentsBiến cấu hình cũng có thể làm cho tải dữ kèo bóng đá hom nay lớn nhanh hơn. Điều này là do tải một lượng lớn dữ kèo bóng đá hom nay vàoPostgreSQLsẽ gây ra kèo bóng đá hom nay điểm kiểm tra xảy ra thường xuyên hơn điểm kiểm tra thông thường Tần số (được chỉ định bởiCheckpoint_timeoutBiến cấu hình). Bất cứ khi nào kèo bóng đá hom nay trạm kiểm soát xảy ra, tất cả các trang bẩn phải được xóa đến đĩa. Bằng cách tăngCheckPoint_Segmentstạm thời trong dữ kèo bóng đá hom nay số lượng lớn tải, số lượng các điểm kiểm tra được yêu cầu có thể giảm.
Khi tải một lượng lớn dữ kèo bóng đá hom nay 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ữ kèo bóng đá hom nay 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ẮTvàMAX_WAL_SENDERSđến 0. Nhưng lưu ý rằng việc thay đổi kèo bóng đá hom nay 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ữ kèo bóng đá hom nay 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_Levellàtố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àmfsync
Tại
kết thúc hơn bằng cách viết wal.) Điều này áp dụng cho những điều sau
lệnh:
Tạo bảng khi chọn
Tạo chỉ mục(và kèo bóng đá hom nay biến thể như vậy BẰNGBảng thay đổi Thêm chính CHÌA KHÓA)
thay đổi bảng bảng không gian bảng
cụm
Sao chép từ, khi mục tiêu bảng đã được tạo hoặc cắt ngắn sớm hơn giao dịch
Bất cứ khi nào bạn đã thay đổi đáng kể sự phân phối của dữ kèo bóng đá hom nay trong bảng, 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ữ kèo bóng đá hom nay 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ố kèo bóng đá hom nay 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ố kèo bóng đá hom nay 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ự động; nhìn thấyPhần 23.1.3vàPhần 23.1.5Để biết thêm thông tin.
kèo bóng đá hom nay tập lệnh kết xuất được tạo bởipg_dumpTự động áp dụng kèo bóng đá hom nay số, nhưng Không phải tất cả, của các hướng dẫn trên. Tải lại kèo bóng đá hom naypg_dumpDump càng nhanh càng tốt, bạn Cần phải làm kèo bóng đá hom nay 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ụckèo bóng đá hom nay bãi rác, không phải trong khiTạoNó. Cùng kèo bóng đá hom nay điểm Áp dụng cho dù đang tải 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 Hoàn thành kết xuất lược đồ và dữ kèo bóng đá hom nay, nó cẩn thận tải dữ kèo bóng đá hom nay 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 kèo bóng đá hom nay giá trị phù hợp (nghĩa là lớn hơn bình thường) chobảo trì_work_memvàCheckPoint_Segments.
Nếu sử dụng 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ểuvàMAX_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 kèo bóng đá hom nay bản sao lưu cơ sở mới.
Xem xét kèo bóng đá hom nay 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--Single-TransactionTùy chọn dòng lệnh thànhPSQLhoặcpg_restore. Khi sử dụng 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ữ kèo bóng đá hom nay 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ụng kèo bóng đá hom nay 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 đá hom nay, Cân nhắc sử dụngPG_RESTORE's--JobsTùy chọn. Điều này cho phép dữ kèo bóng đá hom nay đồ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ữ kèo bóng đá hom nay 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 đá hom nayo các khóa nước ngoài.[1]Vì vậy, khi tải một kết xuất chỉ có dữ kèo bóng đá hom nay, 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ụng những kỹ thuật đó. Nó vẫn hữu ích để tăngCheckPoint_SegmentsTrong khi tải dữ kèo bóng đá hom nay, nhưng đừng bận tâm tăngbảo trì_work_mem; đúng hơn, bạn sẽ làm điều đó trong khi tái tạo thủ công kèo bóng đá hom nay chỉ số và khóa nước ngoài sau đó. Và đừng quênPhân tíchKhi nào bạn đã xong; nhìn thấyPhần 23.1.3vàPhần 23.1.5Để biết thêm thông tin.
[1] |
Bạn có thể nhận được hiệu ứng vô hiệu hóa kèo bóng đá hom nay khóa nước ngoài bằng cách sử dụng 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ữ kèo bóng đá hom nay nếu bạn sử dụng nó. |