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

70.6. kèo bóng đá việt nam

Phần này cung cấp tổng quan về định dạng kèo bóng đá việt nam được sử dụng trongPostgreSQLBảng và chỉ mục.[17]Chuỗi vàbánh mì nướngBảng được định dạng giống như một bảng thông thường.

Trong phần giải thích sau, Abyteđược giả sử chứa 8 bit. Ngoài ra, thuật ngữMụcđề cập đến một giá trị dữ liệu riêng lẻ được lưu trữ trên một kèo bóng đá việt nam. Trong một bảng, một mục là một hàng; Trong một chỉ mục, một mục là một mục nhập chỉ mục.

Mỗi bảng và chỉ mục được lưu trữ dưới dạng mảngkèo bóng đá việt namcó kích thước cố định (thường là 8 kb, mặc dù có thể chọn kích thước kèo bóng đá việt nam khác khi biên dịch máy chủ). Trong một bảng, tất cả các kèo bóng đá việt nam đều tương đương về mặt logic, vì vậy một mục cụ thể (hàng) có thể được lưu trữ trong bất kỳ kèo bóng đá việt nam nào. Trong các chỉ mục, kèo bóng đá việt nam đầu tiên thường được bảo lưu dưới dạngMetapageGiữ thông tin điều khiển và có thể có nhiều loại kèo bóng đá việt nam khác nhau trong chỉ mục, tùy thuộc vào phương thức truy cập chỉ mục.

Bảng 70.2Hiển thị bố cục tổng thể của một kèo bóng đá việt nam. Có năm phần cho mỗi kèo bóng đá việt nam.

Bảng 70.2. Bố cục kèo bóng đá việt nam tổng thể

Mục Mô tả
PageHeaderData 24 byte dài. Chứa thông tin chung về kèo bóng đá việt nam, bao gồm cả con trỏ không gian trống.
itemiddata mảng các định danh mục trỏ đến các mục thực tế. Mỗi mục là một cặp (bù, chiều dài). 4 byte cho mỗi mục.
không gian trống Không gian không phân bổ. Số nhận dạng mục mới được phân bổ từ đầu khu vực này, các mục mới từ cuối.
Mục Bản thân các mục thực tế.
không gian đặc biệt Dữ kèo bóng đá việt nam cụ thể của phương thức truy cập chỉ mục. Các phương pháp khác nhau lưu trữ dữ kèo bóng đá việt nam khác nhau. Trống trong các bảng thông thường.

24 byte đầu tiên của mỗi kèo bóng đá việt nam bao gồm một tiêu đề kèo bóng đá việt nam (PageHeaderData). Định dạng của nó được chi tiết trongBảng 70.3. Trường đầu tiên theo dõi mục WAL gần đây nhất liên quan đến kèo bóng đá việt nam này. Trường thứ hai chứa kiểm tra kèo bóng đá việt nam nếuKiểm tra dữ kèo bóng đá việt namđược bật. Tiếp theo là trường 2 byte chứa bit cờ. Tiếp theo là ba trường số nguyên 2 byte (PD_LOWER, PD_UPPERpd_special). Chúng chứa các chênh lệch byte từ kèo bóng đá việt nam bắt đầu đến khi bắt đầu không gian không được phân bổ, đến cuối không gian không phân bổ và bắt đầu không gian đặc biệt. 2 byte tiếp theo của tiêu đề kèo bóng đá việt nam,pd_pagesize_version, Lưu trữ cả kích thước kèo bóng đá việt nam và chỉ báo phiên bản. Bắt đầu vớiPostgreSQL8.3 Số phiên bản là 4;PostgreSQL8.1 và 8.2 Phiên bản đã sử dụng số 3;PostgreSQL8.0 Phiên bản đã sử dụng số 2;PostgreSQL7.3 và 7.4 Phiên bản đã sử dụng số 1; Các bản phát hành trước đã sử dụng phiên bản số 0. (Bố cục kèo bóng đá việt nam cơ bản và định dạng tiêu đề không thay đổi trong hầu hết các phiên bản này, nhưng bố cục của các tiêu đề hàng Heap có.) Kích thước kèo bóng đá việt nam về cơ bản chỉ có mặt dưới dạng kiểm tra chéo; Không có hỗ trợ để có nhiều hơn một kích thước kèo bóng đá việt nam trong một cài đặt. Trường cuối cùng là một gợi ý cho thấy việc cắt tỉa kèo bóng đá việt nam có khả năng có lợi nhuận hay không: nó theo dõi Xmax chưa được cắt cổ nhất trên kèo bóng đá việt nam.

Bảng 70.3. PageHeaderData Layout

trường loại LEGN Mô tả
PD_LSN PageXLogRecptr 8 byte LSN: Byte tiếp theo sau byte cuối cùng của bản ghi WAL cho thay đổi cuối cùng cho kèo bóng đá việt nam này
pd_checksum UINT16 2 byte Tổng kiểm tra kèo bóng đá việt nam
PD_FLAGS UINT16 2 byte BIT cờ
PD_LOWER Vị trí Index 2 byte Offset để bắt đầu không gian trống
PD_UPPER Vị trí Index 2 byte Offset để kết thúc không gian trống
pd_special vị trí Index 2 byte Offset để bắt đầu không gian đặc biệt
pd_pagesize_version UINT16 2 byte Kích thước kèo bóng đá việt nam và thông tin số phiên bản bố cục
pd_prune_xid TranstercentID 4 byte Xmax không hợp nhất lâu đời nhất trên kèo bóng đá việt nam hoặc không nếu không

Tất cả các chi tiết có thể được tìm thấy trongsrc/bao gồm/lưu trữ/bufpage.h.

Theo tiêu đề kèo bóng đá việt nam là các định danh mục (itemiddata), mỗi người yêu cầu bốn byte. Một định danh mục chứa một lần hoàn trả byte để bắt đầu một mục, độ dài của nó tính bằng byte và một vài bit thuộc tính ảnh hưởng đến cách giải thích của nó. Số nhận dạng mục mới được phân bổ khi cần thiết từ đầu không gian không được phân bổ. Số lượng số nhận dạng mục có mặt có thể được xác định bằng cách xemPD_LOWER, được tăng lên để phân bổ một định danh mới. Bởi vì một định danh mục không bao giờ được di chuyển cho đến khi nó được giải phóng, chỉ mục của nó có thể được sử dụng trên cơ sở dài hạn để tham khảo một mục, ngay cả khi bản thân mặt hàng được di chuyển trên kèo bóng đá việt nam để nhỏ gọn không gian trống. Trên thực tế, mọi con trỏ đến một mục (itemPulum, còn được gọi làCTID) Được tạo bởiPostgreSQLbao gồm số kèo bóng đá việt nam và chỉ mục của một định danh mục.

Bản thân các mục được lưu trữ trong không gian được phân bổ ngược từ cuối không gian không phân bổ. Cấu trúc chính xác thay đổi tùy thuộc vào bảng có chứa. Cả hai bảng và chuỗi đều sử dụng một cấu trúc có tênHeaptupleHeaderData, được mô tả bên dưới.

Phần cuối cùng làPhần đặc biệtcó thể chứa bất cứ thứ gì phương thức truy cập muốn lưu trữ. Ví dụ, B-Tree chỉ mục lưu trữ các liên kết đến anh chị em bên trái và bên phải của kèo bóng đá việt nam, cũng như một số dữ liệu khác có liên quan đến cấu trúc chỉ mục. Các bảng thông thường hoàn toàn không sử dụng một phần đặc biệt (được chỉ định bởi cài đặtpd_specialbằng kích thước kèo bóng đá việt nam).

Hình 70.1Minh họa cách các phần này được trình bày trong một kèo bóng đá việt nam.

Hình 70.1. Bố cục kèo bóng đá việt nam


70.6.1. Bố kèo bóng đá việt nam hàng bảng

Tất cả các hàng bảng được cấu trúc theo cùng một cách. Có một tiêu đề kích thước cố định (chiếm 23 byte trên hầu hết các máy), theo sau là bitmap null tùy chọn, trường ID đối tượng tùy chọn và dữ kèo bóng đá việt nam người dùng. Tiêu đề được chi tiết trongBảng 70.4. Dữ kèo bóng đá việt nam người dùng thực tế (các cột của hàng) bắt đầu ở phần bù được chỉ ra bởiT_HOFF, phải luôn là bội số của khoảng cách Maxalign cho nền tảng. Bitmap null chỉ có mặt nếuHEAP_HASNULLbit được đặt trongt_infomask. Nếu nó có mặt, nó bắt đầu ngay sau khi tiêu đề cố định và chiếm đủ byte để có một bit mỗi cột dữ kèo bóng đá việt nam (nghĩa là số bit tương đương với số lượng thuộc tính trongT_INFOMASK2). Trong danh sách các bit này, 1 bit cho biết không null, 0 bit là null. Khi bitmap không có mặt, tất cả các cột được giả định không có null. ID đối tượng chỉ có mặt nếuheap_hasoid_oldbit được đặt trongT_INFOMASK. Nếu có, nó xuất hiện ngay trướcT_HOFFranh giới. Bất kỳ phần đệm nào cần thiết để làmT_HOFFbội số Maxalign sẽ xuất hiện giữa bitmap null và id đối tượng. (Điều này lần lượt đảm bảo rằng ID đối tượng được căn chỉnh phù hợp.)

Bảng 70.4. Bố kèo bóng đá việt nam HeaptupleHeaderData

trường loại length Mô tả
t_xmin Giao dịchID 4 byte Chèn tem XID
T_XMAX TranstercentID 4 byte Xóa tem XID
T_CID CommandID 4 byte Chèn và/hoặc xóa tem CID (lớp phủ với T_XVAC)
T_XVAC TranstercentID 4 byte XID cho hoạt động chân không di chuyển phiên bản hàng
T_CTID itempulinterdata 6 byte TiD hiện tại của phiên bản hàng này hoặc mới hơn
T_INFOMASK2 UINT16 2 byte Số lượng thuộc tính, cộng với các bit cờ khác nhau
t_infomask UINT16 2 byte BIT cờ khác nhau
T_HOFF UINT8 1 byte OFFSET TO DỮ LIỆU

Tất cả các chi tiết có thể được tìm thấy trongsrc/bao gồm/truy cập/htup_details.h.

Giải thích dữ kèo bóng đá việt nam thực tế chỉ có thể được thực hiện với thông tin thu được từ các bảng khác, chủ yếu làPG_Attribution. Các giá trị chính cần thiết để xác định các vị trí trường làAttlenAttalign. Không có cách nào để trực tiếp nhận một thuộc tính cụ thể, ngoại trừ khi chỉ có các trường chiều rộng cố định và không có giá trị null. Tất cả các mánh khóe này được gói gọn trong các chức năngHEAP_GETATTR, FastGetAttrheap_getSysAttr.

Để đọc dữ kèo bóng đá việt nam bạn cần kiểm tra từng thuộc tính lần lượt. Trước tiên, hãy kiểm tra xem trường có phải là null theo bitmap null hay không. Nếu là, đi đến tiếp theo. Sau đó, hãy chắc chắn rằng bạn có căn chỉnh đúng. Nếu trường là trường chiều rộng cố định, thì tất cả các byte được đặt đơn giản. Nếu đó là trường độ dài thay đổi (Attlen = -1) thì nó phức tạp hơn một chút. Tất cả các loại dữ kèo bóng đá việt nam có độ dài thay đổi chia sẻ cấu trúc tiêu đề chungstruct Varlena, bao gồm tổng chiều dài của giá trị được lưu trữ và một số bit cờ. Tùy thuộc vào các cờ, dữ kèo bóng đá việt nam có thể là nội tuyến hoặc trongPostgresql: Tàibảng; Nó cũng có thể được nén (xemPhần 70.2).



[17]Trên thực tế, việc sử dụng định dạng kèo bóng đá việt nam này là không cần thiết cho các phương thức truy cập bảng hoặc chỉ mục. TheHeapPhương thức truy cập bảng luôn sử dụng định dạng này. Tất cả các phương thức chỉ mục hiện có cũng sử dụng định dạng cơ bản, nhưng dữ kèo bóng đá việt nam được giữ trên các mục tiêu chỉ mục thường không tuân theo các quy tắc bố cục mục.

Gửi hiệu chỉnh

Nếu bạn thấy bất cứ điều gì trong tài kèo bóng đá việt nam không chính xác, không khớp Kinh nghiệm của bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề tài kèo bóng đá việt nam.