Phần này cung cấp tổng quan vềtỷ lệ kèo bóng đá 88(Kỹ thuật lưu trữ thuộc tính quá khổ).
PostgreSQLSử dụng kích thước trang cố định (thông thường là 8 kb) và không cho phép các bộ dữ tỷ lệ kèo bóng đá 88 kéo dài nhiều trang. Do đó, không thể lưu trữ trực tiếp các giá trị trường rất lớn. Để khắc phục giới hạn này, các giá trị trường lớn được nén và/hoặc chia thành nhiều hàng vật lý. Điều 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ác mã phụ trợ. Kỹ thuật được gọi một cách trìu mến làtỷ lệ kèo bóng đá 88(hoặcHồiĐiều tốt nhất kể từ bánh mì cắt látHồi). Thetỷ lệ kèo bóng đá 88Cơ sở hạ tầng cũng được sử dụng để cải thiện việc xử lý các giá trị dữ tỷ lệ kèo bóng đá 88 lớn trong bộ nhớ.
Chỉ các loại dữ tỷ lệ kèo bóng đá 88 nhất định hỗ trợtỷ lệ kèo bóng đá 88- Không cần phải áp đặt chi phí cho các loại dữ tỷ lệ kèo bóng đá 88 không thể tạo ra các giá trị trường lớn. Để hỗ trợtỷ lệ kèo bóng đá 88, một kiểu dữ tỷ lệ kèo bóng đá 88 phải có độ dài biến (Varlena) Đại diện, trong đó, thông thường, từ bốn byte đầu tiên của bất kỳ giá trị được lưu trữ nào chứa tổng chiều dài của giá trị tính bằng byte (bao gồm cả chính nó).tỷ lệ kèo bóng đá 88Không ràng buộc phần còn lại của biểu diễn của kiểu dữ tỷ lệ kèo bóng đá 88. Các đại diện đặc biệt được gọi chung làtỷ lệ kèo bóng đá 88ED giá trịLàm việc bằng cách sửa đổi hoặc giải thích lại từ dài ban đầu này. Do đó, tỷ lệ kèo bóng đá 88 chức năng cấp C hỗ trợtỷ lệ kèo bóng đá 88-Able Kiểu dữ tỷ lệ kèo bóng đá 88 phải cẩn thận về cách chúng xử lý có khả năngtỷ lệ kèo bóng đá 88ED Giá trị đầu vào: Một đầu vào có thể không thực sự bao gồm một từ và nội dung dài bốn byte cho đến khi nó đượcDetoasted. (Điều này thường được thực hiện bằng cách gọipg_detoast_datum
Trước khi làm bất cứ điều gì có 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à có thể. Nhìn thấyPhần 36.13.1Để biết thêm chi tiết.)
tỷ lệ kèo bóng đá 8812474_12664tỷ lệ kèo bóng đá 88-Able Kiểu dữ tỷ lệ kèo bóng đá 88 đến 1 GB (230- 1 byte). Khi cả hai bit bằng không, giá trị là một un- bình thườngtỷ lệ kèo bóng đá 8812847_13885Con trỏ tỷ lệ kèo bóng đá 88được xác định bởi một mã được lưu trữ trong byte thứ hai của mốc. Cuối cùng, khi bit bậc cao hoặc thứ tự thấp nhất rõ ràng nhưng bit liền kề được đặt, nội dung của mốc đã đượ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 bốn byte cho tổng kích thước của mốc dữ tỷ lệ kèo bóng đá 88 được nén, không phải dữ tỷ lệ kèo bóng đá 88 gốc. Lưu ý rằng nén cũng có thể cho dữ tỷ lệ kèo bóng đá 88 ngoại tuyến nhưng tiêu đề Varlena không cho biết tỷ lệ kèo bóng đá 88 nó có xảy ra hay không-nội dung củatỷ lệ kèo bóng đá 88Con trỏ nói rằng, thay vào đó.
Kỹ thuật nén được sử dụng cho dữ tỷ lệ kèo bóng đá 88 nén nội tuyến hoặc ngoại tuyến có thể được chọn cho mỗi cột bằng cách đặtnén
Tùy chọn cột trongTạo bảng
hoặcBảng thay đổi
. Mặc định cho tỷ lệ kèo bóng đá 88 cột không có cài đặt rõ ràng là tham khảo ý kiếndefault_toast_compressiontham số tại thời điểm dữ tỷ lệ kèo bóng đá 88 được chèn.
Như đã đề cập, có nhiều loạitỷ lệ kèo bóng đá 88Datums con trỏ. Loại lâu đời nhất và phổ biến nhất là một con trỏ đến dữ tỷ lệ kèo bóng đá 88 ngoại tuyến được lưu trữ trong mộttỷ lệ kèo bóng đá 88BảngĐó là tách biệt, nhưng được liên kết với bảng chứatỷ lệ kèo bóng đá 88Bản thân Datum con trỏ. Những cái nàytrên đĩaDữ tỷ lệ kèo bóng đá 88 con trỏ được tạo bởitỷ lệ kèo bóng đá 88Mã quản lý (trong15550_15583
15588_15685Phần 65.2.1. Ngoài ra, Atỷ lệ kèo bóng đá 88Datum con trỏ có thể chứa một con trỏ tới dữ tỷ lệ kèo bóng đá 88 ngoại tuyến xuất hiện ở nơi khác trong bộ nhớ. Các dữ tỷ lệ kèo bóng đá 88 như vậy nhất thiết phải tồn tại trong thời gian ngắn và sẽ không bao giờ xuất hiện trên đĩa, nhưng chúng rất hữu ích để tránh sao chép và xử lý dự phòng các giá trị dữ tỷ lệ kèo bóng đá 88 lớn. Thông tin chi tiết khác xuất hiện trongPhần 65.2.2.
Nếu bất kỳ cột nào của bảng làkèo tỷ số bóng đá euro-Able, bảng sẽ có liên quantỷ lệ kèo bóng đá 88Bảng, có OID được lưu trữ trong bảngpg_ class
.reltoastrelid
mục nhập. Trên đĩatỷ lệ kèo bóng đá 88ED giá trị được giữ trongtỷ lệ kèo bóng đá 88Bảng, như được mô tả chi tiết hơn bên dưới.
tỷ lệ kèo bóng đá 88 giá trị ngoại tuyến được chia (sau khi nén nếu được sử dụng) thành tỷ lệ kèo bóng đá 88 khối của tối đatoast_max_chunk_size
17195_17356tỷ lệ kèo bóng đá 88Bảng thuộc về bảng sở hữu. Mọitỷ lệ kèo bóng đá 88Bảng có tỷ lệ kèo bóng đá 88 cộtChunk_id
(oid xác định cụ thểtỷ lệ kèo bóng đá 88ED giá trị),Chunk_seq
(số thứ tự cho phần trong giá trị của nó) và17754_17766
(dữ tỷ lệ kèo bóng đá 88 thực tế của khối). Một chỉ mục duy nhất trênChunk_id
vàChunk_seq
Cung cấp truy xuất nhanh tỷ lệ kèo bóng đá 88 giá trị. Datum con trỏ đại diện cho một bộ phận ngoài đườngtỷ lệ kèo bóng đá 88ED do đó giá trị cần lưu trữ oid củatỷ lệ kèo bóng đá 88Bảng để xem và oid của giá trị cụ thể (Chunk_id
). Để thuận tiện, các dữ tỷ lệ kèo bóng đá 88 con trỏ cũng lưu trữ kích thước mốc dữ tỷ lệ kèo bóng đá 88 logic (độ dài dữ tỷ lệ kèo bóng đá 88 không nén ban đầu), kích thước lưu trữ vật lý (khác nhau nếu nén được áp dụng) và phương pháp nén được sử dụng, nếu có. Cho phép các byte tiêu đề varlena, tổng kích thước của một đĩa trêntỷ lệ kèo bóng đá 88Datum con trỏ do đó là 18 byte bất kể kích thước thực tế của giá trị được biểu thị.
Thetỷ lệ kèo bóng đá 88Mã quản lý chỉ được kích hoạt khi giá trị hàng được lưu trữ trong bảng rộng hơntoast_tuple_threshold
byte (thường là 2 kb). Thetỷ lệ kèo bóng đá 88Mã sẽ nén và/hoặc di chuyển tỷ lệ kèo bóng đá 88 giá trị trường ngoài dòng cho đến khi giá trị hàng ngắn hơntoast_tuple_target
19045_19257tỷ lệ kèo bóng đá 88Chi phí nếu không có giá trị nào thay đổi.
Thetỷ lệ kèo bóng đá 88Mã quản lý nhận ra bốn chiến lược khác nhau để lưu trữtỷ lệ kèo bóng đá 88-Able Cột trên đĩa:
trơn
Ngăn chặn lưu trữ nén hoặc ngoài dòng. Đây là chiến lược duy nhất có thể cho tỷ lệ kèo bóng đá 88 cột không phảitỷ lệ kèo bóng đá 88-Able Kiểu dữ tỷ lệ kèo bóng đá 88.
mở rộng
Cho phép cả lưu trữ nén và ngoài dòng. Đây là mặc định cho hầu hếttỷ lệ kèo bóng đá 88Các loại dữ tỷ lệ kèo bóng đá 88 có thể. 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ài
Cho phép lưu trữ ngoài hàng nhưng không nén. Sử dụngbên ngoài
Sẽ thực hiện tỷ lệ kèo bóng đá 88 hoạt động của Subring trên WideText
vàbytea
20491_20676
chính
Cho phép nén nhưng không lưu trữ ngoài đường. .
mỗitỷ lệ kèo bóng đá 88-Able Kiểu dữ tỷ lệ kèo bóng đá 88 chỉ định chiến lược mặc định cho các cột thuộc loại dữ tỷ lệ kèo bóng đá 88 đó, nhưng chiến lược cho một cột bảng đã cho có thể được thay đổi bằngBảng thay đổi ... Đặt lưu trữ
.
toast_tuple_target
Có thể điều chỉnh cho mỗi bảng bằng cách sử dụngBảng thay đổi ... Đặt (toast_tuple_target = n)
Sơ đồ này có một số lợi thế so với cách tiếp cận đơn giản hơn như cho phép tỷ lệ kèo bóng đá 88 giá trị hàng theo tỷ lệ kèo bóng đá 88 trang. Giả sử rằng tỷ lệ kèo bóng đá 88 truy vấn thường có đủ điều kiện bằng cách so sánh với tỷ lệ kèo bóng đá 88 giá trị chính tương đối nhỏ, hầu hết 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 hàng chính. tỷ lệ kèo bóng đá 88 giá trị lớn củatỷ lệ kèo bóng đá 88Cá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ả được gửi đến máy khách. Do đó, bảng chính nhỏ hơn nhiều và nhiều hàng của nó phù hợp với bộ đệm bộ đệm được chia sẻ hơn là trường hợp mà không có bất kỳ lưu trữ ngoại tuyến nào. Các bộ sắp xếp cũng thu hẹp, và các loại thường sẽ được thực hiện hoàn toàn trong bộ nhớ. Một thử nghiệm nhỏ cho thấy một bảng chứa các trang HTML điển hình và URL của chúng được lưu trữ trong khoảng một nửa kích thước dữ tỷ lệ kèo bóng đá 88 thô bao gồmtỷ lệ kèo bóng đá 8822457_22624tỷ lệ kèo bóng đá 88Bảng so sánh ED, trong đó tất cả tỷ lệ kèo bóng đá 88 trang HTML được cắt xuống 7 kb để phù hợp.
Postgresql: TàCon trỏ có thể trỏ đến dữ tỷ lệ kèo bóng đá 88 không có trên đĩa, nhưng ở nơi khác trong bộ nhớ của quy trình máy chủ hiện tại. Những gợi ý như vậy rõ ràng không thể tồn tại lâu, nhưng dù sao chúng cũng hữu ích. Hiện tại có hai trường hợp phụ: Con trỏ đếngián tiếpdữ tỷ lệ kèo bóng đá 88 và con trỏ đếnMở rộngDữ tỷ lệ kèo bóng đá 88.
gián tiếptỷ lệ kèo bóng đá 8823479_24022
Mở rộngtỷ lệ kèo bóng đá 88Con trỏ rất hữu ích cho các loại dữ tỷ lệ kèo bóng đá 88 phức tạp có biểu diễn trên đĩa không đặc biệt phù hợp cho mục đích tính toán. Ví dụ, biểu diễn varlena tiêu chuẩn của APostgreSQLMảng bao gồm thông tin về chiều, bitmap nulls Nếu có bất kỳ phần tử null nào, sau đó tỷ lệ kèo bóng đá 88 giá trị của tất cả tỷ lệ kèo bóng đá 88 phần tử theo thứ tự. Khi chính loại phần tử có độ dài thay đổi, cách duy nhất để tìmn
phần tử là quét qua tất cả tỷ lệ kèo bóng đá 88 phần tử trước. Biểu diễn này phù hợp với lưu trữ trên đĩa vì độ nhỏ gọn của nó, nhưng đối với tỷ lệ kèo bóng đá 88 tính toán với mảng, việc có một đẹp hơn nhiềuMở rộngHồihoặcVanggiải cấu trúcĐại diện trong đó tất cả tỷ lệ kèo bóng đá 88 vị trí bắt đầu phần tử đã được xác định. Thetỷ lệ kèo bóng đá 8825028_25184tỷ lệ kèo bóng đá 88Con trỏ trỏ đến một đại diện mở rộng ở đâu đó trong bộ nhớ. Các chi tiết của biểu diễn được mở rộng này tùy thuộc vào kiểu dữ tỷ lệ kèo bóng đá 88, mặc dù nó phải có tiêu đề tiêu chuẩn và đáp ứng các yêu cầu API khác được đưa ra trongsrc/bao gồm/elils/expandeddatum.h
. Các chức năng cấp C làm việc với kiểu dữ tỷ lệ kèo bóng đá 88 có thể chọn xử lý một trong hai biểu diễn. Các chức năng không biết về biểu diễn mở rộng, mà chỉ cần áp dụngpg_detoast_datum
Đối với đầu vào của họ, sẽ tự động nhận đại diện Varlena truyền thống; Vì vậy, hỗ trợ cho một biểu diễn mở rộng có thể được giới thiệu tăng dần, một hàm tại một thời điểm.
tỷ lệ kèo bóng đá 88Con trỏ để tỷ lệ kèo bóng đá 88 giá trị mở rộng được chia nhỏ thànhRead-WritevàChỉ đọcCon trỏ. Biểu diễn chỉ ra là giống nhau, nhưng một hàm nhận con trỏ đọc-viết được phép sửa đổi giá trị được tham chiếu tại chỗ, trong khi một hàm nhận được một con trỏ chỉ đọc không được; Trước tiên, nó phải tạo một bản sao nếu nó muốn tạo một phiên bản sửa đổi của giá trị. Sự khác biệt này và một số quy ước liên quan cho phép tránh sao chép không cần thiết tỷ lệ kèo bóng đá 88 giá trị mở rộng trong quá trình thực thi truy vấn.
Đối với tất cả tỷ lệ kèo bóng đá 88 loại trong bộ nhớtỷ lệ kèo bóng đá 88Con trỏ,tỷ lệ kèo bóng đá 88Mã quản lý đảm bảo rằng không có dữ tỷ lệ kèo bóng đá 88 con trỏ nào như vậy có thể vô tình được lưu trữ trên đĩa. Trong bộ nhớtỷ lệ kèo bóng đá 8826809_26937tỷ lệ kèo bóng đá 88Con trỏ, nếu phần chứa chứa sẽ quá lớn.
28038_28264Mẫu nàyĐể báo cáo vấn đề tài tỷ lệ kèo bóng đá 88.