PostgreSQL: kèo bóng đá hôm | |||
---|---|---|---|
prev | UP | Chương 5. Định nghĩa dữ liệu | NEXT |
Mỗi bảng có tỷ lệ kèo bóng đá sốtỷ lệ kèo bóng đáđược định nghĩa ngầm bởi hệ thống. Do đó, những tên này không thể được sử dụng làm tên của các tỷ lệ kèo bóng đá do người dùng xác định. . chỉ biết chúng tồn tại.
Mã định danh đối tượng (ID đối tượng) của một hàng. tỷ lệ kèo bóng đá này chỉ có mặt nếu bảng được tạo bằngvới oidshoặc nếudefault_with_oidsBiến cấu hình được đặt vào thời điểm đó. tỷ lệ kèo bóng đá này thuộc loạioid(cùng tên với tỷ lệ kèo bóng đá); nhìn thấyPhần 8.18Để biết thêm thông tin về loại.
oid của bảng chứa hàng này. tỷ lệ kèo bóng đá này đặc biệt tiện dụng cho các truy vấn chọn từ phân cấp kế thừa (xemPhần 5.9), vì không có nó, thật khó để biết bảng cá nhân nào tỷ lệ kèo bóng đá hàng đến từ. TheTableoidCó thể tham gia vớioidtỷ lệ kèo bóng đá củapg_ classĐể có được tên bảng.
Bản sắc (ID giao dịch) của giao dịch chèn cho phiên bản tỷ lệ kèo bóng đá này. .
Định danh lệnh (bắt đầu từ 0) trong giao dịch chèn.
Danh tính (ID giao dịch) của giao dịch xóa hoặc không cho phiên bản hàng không có kết quả. tỷ lệ kèo bóng đá này có thể là không khác biệt trong phiên bản hàng có thể nhìn thấy. Điều đó thường chỉ ra rằng giao dịch xóa chưa được thực hiện hoặc việc xóa đã cố gắng được quay lại.
Định danh lệnh trong giao dịch xóa hoặc không.
Vị trí vật lý của phiên bản tỷ lệ kèo bóng đá trong bảng của nó. Lưu ý rằng mặc dùCTIDcó thể được sử dụng để định vị phiên bản hàng rất nhanh, tỷ lệ kèo bóng đá hàngCTIDSẽ thay đổi nếu được cập nhật hoặc di chuyển bởiNút không đầy đủ. Vì thếCTIDlà vô dụng như một định danh hàng dài hạn. OID, hoặc thậm chí tốt hơn một số sê-ri do người dùng xác định, nên được sử dụng để xác định tỷ lệ kèo bóng đá hàng logic.
OIDS có số lượng 32 bit và được gán từ một bộ đếm toàn bộ cụm. Trong một cơ sở dữ liệu lớn hoặc tồn tại lâu, có thể bộ đếm bao quanh. Do đó, thực tế là xấu khi cho rằng OID là duy nhất, trừ khi bạn thực hiện tỷ lệ kèo bóng đá bước để đảm bảo rằng đây là trường hợp. Nếu bạn cần xác định tỷ lệ kèo bóng đá hàng trong bảng, sử dụng trình tạo chuỗi được khuyến nghị mạnh mẽ. Tuy nhiên, OIDS cũng có thể được sử dụng, với điều kiện là một vài biện pháp phòng ngừa bổ sung được thực hiện:
Một ràng buộc duy nhất nên được tạo trên tỷ lệ kèo bóng đá OID của mỗi bảng mà OID sẽ được sử dụng để xác định các hàng. Khi một ràng buộc duy nhất như vậy (hoặc chỉ mục duy nhất) tồn tại, hệ thống sẽ không cần tạo ra một OID phù hợp với một hàng đã tồn tại. (Tất nhiên, điều này chỉ có thể nếu bảng chứa ít hơn 232(4 tỷ) tỷ lệ kèo bóng đá và trong thực tế, kích thước bảng tốt hơn nhiều so với điều đó, hoặc hiệu suất có thể bị ảnh hưởng.)
OIDS không bao giờ được coi là duy nhất trên tỷ lệ kèo bóng đá bảng; Sử dụng kết hợp củaTableoidvà hàng oid nếu bạn cần tỷ lệ kèo bóng đá định danh toàn cơ sở dữ liệu.
Tất nhiên, tỷ lệ kèo bóng đá bảng được đề cập phải được tạovới oids. Kể từPostgreSQL8.1,không có oidslà mặc định.
Định danh giao dịch cũng là số lượng 32 bit. Trong một cơ sở dữ liệu tồn tại lâu dài, ID giao dịch có thể bao quanh. Đây không phải là một vấn đề nghiêm trọng với tỷ lệ kèo bóng đá thủ tục bảo trì thích hợp; nhìn thấyChương 24Để biết chi tiết. Tuy nhiên, không khôn ngoan, phụ thuộc vào tính duy nhất của ID giao dịch trong dài hạn (hơn tỷ lệ kèo bóng đá tỷ giao dịch).
Định danh lệnh cũng là số lượng 32 bit. Điều này tạo ra giới hạn cứng là 232(4 tỷ)SQLtỷ lệ kèo bóng đá lệnh trong một giao dịch. Trong thực tế, giới hạn này không phải là một vấn đề - lưu ý rằng giới hạn thuộc về số lượngSQLtỷ lệ kèo bóng đá lệnh, không phải số lượng hàng được xử lý. Ngoài ra, chỉ tỷ lệ kèo bóng đá lệnh thực sự sửa đổi nội dung cơ sở dữ liệu sẽ tiêu thụ một định danh lệnh.