Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / 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
Tài kèo chấp bóng đá hôm nay 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 kèo chấp bóng đá hôm nay phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

kèo chấp bóng đá hôm nay53.2. NƯỚNG

Phần này cung cấp một cái nhìn tổng quan vềbánh mì kèo chấp bóng đá hôm nay(Bộ lưu trữ thuộc tính quá khổ Kỹ thuật).

PostgreSQLSử dụng một trang cố định Kích thước (thường là 8 kb) và không cho phép kèo chấp bóng đá hôm nay bộ dữ trang. Do đó, không thể lưu trữ trường rất lớn giá trị trực tiếp. Để khắc phục giới hạn này, kèo chấp bóng đá hôm nay giá trị trường lớn được nén và/hoặc chia thành nhiều hàng vật lý. Cái này xảy ra trong suốt cho người dùng, chỉ có tác động nhỏ đến hầu hết của mã phụ trợ. Kỹ thuật được gọi một cách trìu mến làbánh mì kèo chấp bóng đá hôm nay(hoặc"Điều tốt nhất kể từ bánh mì cắt lát").

Chỉ các loại dữ kèo chấp bóng đá hôm nay nhất định hỗ trợbánh mì kèo chấp bóng đá hôm nay- Không cần phải áp đặt Chi phí trên các loại dữ kèo chấp bóng đá hôm nay không thể tạo ra các giá trị trường lớn. ĐẾN ủng hộbánh mì kèo chấp bóng đá hôm nay, Kiểu dữ kèo chấp bóng đá hôm nay phải có độ dài biến (Varlena) Đại diện, trong đó từ 32 bit đầu tiên của bất kỳ Giá trị chứa tổng chiều dài của giá trị tính bằng byte (bao gồm cả chính nó).bánh mì kèo chấp bóng đá hôm nayKhông hạn chế phần còn lại của đại diện. Tất cả kèo chấp bóng đá hôm nay cấp C Chức năng hỗ trợbánh mì kèo chấp bóng đá hôm nay-Able Kiểu dữ kèo chấp bóng đá hôm nay phải cẩn thận để xử lýbánh mì kèo chấp bóng đá hôm nayED giá trị đầu vào. (Điều này thường được thực hiện bằng cách gọipg_detoast_datumTrước khi làm bất cứ điều gì với một giá trị đầu vào, nhưng trong một số trường hợp, cách tiếp cận hiệu quả hơn là khả thi.)

bánh mì kèo chấp bóng đá hôm naychiếm đoạt hai bit của Từ dài varlena (kèo chấp bóng đá hôm nay bit thứ tự cao trên Big-endian máy móc, kèo chấp bóng đá hôm nay bit đơn hàng thấp trên máy ít endian), do đó giới hạn kích thước logic của bất kỳ giá trị nào củabánh mì kèo chấp bóng đá hôm nay-Able Kiểu dữ kèo chấp bóng đá hôm nay thành 1 GB (230- 1 byte). Khi cả hai bit bằng không, giá trị là bình thường un-bánh mì kèo chấp bóng đá hôm nayED giá trị của dữ liệu loại và các bit còn lại của từ dài cho tổng số Kích thước dữ liệu (bao gồm từ dài) trong byte. Khi bit thứ tự cao nhất hoặc thứ tự thấp nhất được đặt, giá trị chỉ có Tiêu đề đơn lẻ thay vì tiêu đề bốn byte bình thường và Các bit còn lại cho tổng kích thước dữ liệu (bao gồm cả chiều dài byte) trong byte. Như một trường hợp đặc biệt, nếu các bit còn lại là tất cả số không (không thể tự bao gồm một chiều dài), Giá trị là một con trỏ đến dữ liệu ngoại tuyến được lưu trữ trong một bánh mì kèo chấp bóng đá hôm nay riêng bàn. (Kích thước của một con trỏ bánh mì kèo chấp bóng đá hôm nay được đưa ra ở byte thứ hai của mốc dữ liệu.) Các giá trị với các tiêu đề đơn lẻ không được căn chỉnh trên Bất kỳ ranh giới cụ thể, một trong hai. Cuối cùng, khi thứ tự cao nhất hoặc bit bậc thấp nhất rõ ràng nhưng bit liền kề được đặt, Nội dung của mốc dữ liệu đã được nén và phải được giải nén trước khi sử dụng. Trong trường hợp này, các bit còn lại của từ dài Cung cấp tổng kích thước của mốc dữ liệu nén, không phải bản gốc dữ liệu. Lưu ý rằng nén cũng có thể cho dữ liệu ngoại tuyến Nhưng tiêu đề Varlena không cho biết liệu nó có xảy ra hay không - nội dung của con trỏ bánh mì kèo chấp bóng đá hôm nay cho biết, thay vào đó.

Nếu bất kỳ cột nào của bảng làbánh mì kèo chấp bóng đá hôm nay-able, bảng sẽ có liên quanbánh mì kèo chấp bóng đá hôm naybảng, có oid là được lưu trữ trong bảngpg_ class.reltoastrelidmục nhập. Ngoài dòngbánh mì kèo chấp bóng đá hôm nayED giá trị được giữ trongbánh mì kèo chấp bóng đá hôm nayBảng, như được mô tả trong Chi tiết hơn bên dưới.

Kỹ thuật nén được sử dụng là khá đơn giản và rất rất đơn giản Thành viên nhanh của gia đình kỹ thuật nén LZ. Nhìn thấysrc/backend/utils/adt/pg_lzcompress.cĐối với kèo chấp bóng đá hôm nay chi tiết.

kèo chấp bóng đá hôm nay giá trị ngoại tuyến được chia (sau khi nén nếu được sử dụng) thành kèo chấp bóng đá hôm nay khối của nhiều nhấttoast_max_chunk_sizebyte (theo mặc định, giá trị này được chọn sao cho bốn hàng chunk sẽ phù hợp trên một trang, làm cho nó khoảng 2000 byte). Mỗi khối được lưu trữ dưới dạng một hàng riêng biệt trongbánh mì kèo chấp bóng đá hôm nayBảng để sở hữu bàn. Mọibánh mì kèo chấp bóng đá hôm nayBảng có kèo chấp bóng đá hôm nay cộtChunk_id(một oid xác định cụ thểbánh mì kèo chấp bóng đá hôm nayED giá trị),Chunk_seq(số trình tự cho phần Chunk trong giá trị của nó) vàChunk_data(dữ kèo chấp bóng đá hôm nay thực tế của khối). Một chỉ mục duy nhất trênChunk_idChunk_seqcung cấp nhanh chóng giá trị. Một mốc dữ kèo chấp bóng đá hôm nay con trỏ đại diện cho một dòng ngoài dòngbánh mì kèo chấp bóng đá hôm nayED giá trị do đó cần Để lưu trữ oid củabánh mì kèo chấp bóng đá hôm nayBảng để xem và oid của giá trị cụ thể (nóChunk_id). Để thuận tiện, con trỏ Datums cũng lưu trữ kích thước dữ kèo chấp bóng đá hôm nay logic (ban đầu không nén chiều dài dữ kèo chấp bóng đá hôm nay) và kích thước được lưu trữ thực tế (khác nhau nếu nén áp dụng). Cho phép các byte tiêu đề varlena, tổng kích thước của Abánh mì kèo chấp bóng đá hôm nayDatum con trỏ là Do đó, 18 byte bất kể kích thước thực tế của giá trị được đại diện.

Thebánh mì kèo chấp bóng đá hôm nayMã được kích hoạt Chỉ khi một giá trị hàng được lưu trữ trong bảng rộng hơntoast_tuple_thresholdbyte (thường là 2 kb). Thebánh mì kèo chấp bóng đá hôm nayMã sẽ nén và/hoặc di chuyển kèo chấp bóng đá hôm nay giá trị trường ngoài dòng cho đến khi giá trị hàng ngắn hơntoast_tuple_targetbyte (cũng bình thường 2 kb) hoặc không có nhiều lợi nhuận có thể có được. Trong một Cập nhật hoạt động, kèo chấp bóng đá hôm nay giá trị của kèo chấp bóng đá hôm nay trường không thay đổi bình thường được bảo tồn as-is; Vì vậy, một bản cập nhật của một hàng với kèo chấp bóng đá hôm nay giá trị ngoại tuyến phát sinh khôngbánh mì kèo chấp bóng đá hôm nayChi phí nếu không có của kèo chấp bóng đá hôm nay giá trị ngoại tuyến thay đổi.

Thebánh mì kèo chấp bóng đá hôm nayMã nhận ra Bốn chiến lược khác nhau để lưu trữbánh mì kèo chấp bóng đá hôm nay-Able Cột:

  • trơnNgăn chặn nén hoặc lưu trữ ngoại tuyến; Hơn nữa, nó vô hiệu hóa việc sử dụng Tiêu đề một byte cho kèo chấp bóng đá hôm nay loại varlena. Đây là duy nhất Chiến lược có thể cho kèo chấp bóng đá hôm nay cột không phảibánh mì kèo chấp bóng đá hôm nay-Able Kiểu dữ kèo chấp bóng đá hôm nay.

  • mở rộngCho phép cả hai nén và lưu trữ ngoại tuyến. Đây là mặc định cho hầu hếtbánh mì kèo chấp bóng đá hôm nay-ABLE Kiểu dữ kèo chấp bóng đá hôm nay. Nén sẽ được thử trước, sau đó lưu trữ ngoài đường Nếu hàng vẫn còn quá lớn.

  • bên ngoàiCho phép ngoài hàng Lưu trữ nhưng không nén. Sử dụngbên ngoàirộngTextbyteaCột nhanh hơn (tại hình phạt tăng lên không gian lưu trữ) bởi vì kèo chấp bóng đá hôm nay hoạt động này được tối ưu hóa để Chỉ tìm nạp kèo chấp bóng đá hôm nay phần yêu cầu của giá trị ngoài hàng nó không được nén.

  • chínhcho phép nén nhưng không Lưu trữ ngoại tuyến. (Trên thực tế, lưu trữ ngoại tuyến sẽ vẫn được thực hiện cho kèo chấp bóng đá hôm nay cột như vậy, nhưng chỉ là nghỉ dưỡng khi không có cách nào khác để làm cho hàng nhỏ đủ.)

mỗibánh mì kèo chấp bóng đá hôm nay-Able Kiểu dữ kèo chấp bóng đá hôm nay Chỉ định chiến lược mặc định cho các cột thuộc loại dữ kèo chấp bóng đá hôm nay đó, nhưng Chiến lược cho một cột bảng đã cho có thể được thay đổi bằngBộ lưu trữ bộ thay đổi.

Chương trình này có một số lợi thế so với Cách tiếp cận đơn giản như cho phép kèo chấp bóng đá hôm nay giá trị hàng trang. Giả sử rằng kèo chấp bóng đá hôm nay truy vấn thường có đủ điều kiện bằng cách so sánh chống lại kèo chấp bóng đá hôm nay giá trị quan trọng tương đối nhỏ, hầu hết kèo chấp bóng đá hôm nay công việc của Người thực thi sẽ được thực hiện bằng cách sử dụng mục nhập chính. kèo chấp bóng đá hôm nay giá trị lớn củabánh mì kèo chấp bóng đá hôm nayCác thuộc tính ED sẽ chỉ được rút ra (nếu được chọn ở tất cả) tại thời điểm bộ kết quả là gửi cho khách hàng. Vì vậy, bảng chính nhỏ hơn nhiều và nhiều hơn của các hàng của nó phù hợp với bộ đệm bộ đệm chia sẻ hơn là trường hợp mà không có bất kỳ lưu trữ ngoại tuyến. Bộ sắp xếp cũng thu hẹp, và các loại sẽ thường được thực hiện hoàn toàn trong bộ nhớ. Một bài kiểm tra nhỏ cho thấy rằng một bảng chứa các trang HTML điển hình và URL của họ là Được lưu trữ trong khoảng một nửa kích thước dữ kèo chấp bóng đá hôm nay thô bao gồmbánh mì kèo chấp bóng đá hôm naybảng, và đó là chính bảng chỉ chứa khoảng 10% toàn bộ dữ kèo chấp bóng đá hôm nay (URL và Một số trang HTML nhỏ). Không có sự khác biệt về thời gian chạy so sánh đến một un-bánh mì kèo chấp bóng đá hôm nayso sánh Ed bảng, trong đó tất cả kèo chấp bóng đá hôm nay trang HTML đã được cắt xuống 7 kb để phù hợp.