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 / 7.4 / 7.3 / 7.2 / 7.1

Tạo chỉ kèo bóng đá c1

Tạo chỉ kèo bóng đá c1 - Xác định chỉ kèo bóng đá c1 mới

Synopsis

10446_10510tên] trên [chỉ]Table_Name[sử dụngPhương pháp]
    (Cột_name| (Biểu thức) [Collateđối chiếu] [opClass[(opClass_parameter=giá trị[, ...])]]] [ASC | Desc] [nulls đầu tiên | CUỐI CÙNG  ] [, ...] )
    [ BAO GỒM (Cột_name[, ...])]]
    [Nulls [không] khác biệt]
    [ VỚI (Storage_Parameter[=giá trị] [, ...])]]
    [Không gian bảngTableSpace_Name]
    [ Ở ĐÂUvị ngữ]

Mô tả

Tạo chỉ kèo bóng đá c111628_11869

(Các) trường chính cho chỉ kèo bóng đá c1 được chỉ định là tên cột hoặc thay thế dưới dạng biểu thức được viết trong ngoặc đơn. Nhiều trường có thể được chỉ định nếu phương thức chỉ kèo bóng đá c1 hỗ trợ các chỉ kèo bóng đá c1 Multicolumn.

Trường chỉ kèo bóng đá c1 có thể là một biểu thức được tính toán từ các giá trị của một hoặc nhiều cột của hàng bảng. Tính năng này có thể được sử dụng để có được quyền truy cập nhanh vào dữ liệu dựa trên một số chuyển đổi dữ liệu cơ bản. Ví dụ: một chỉ kèo bóng đá c1 được tính toán trêntrên (col)sẽ cho phép mệnh đềTrong đó trên (col) = 'jim'Để sử dụng chỉ kèo bóng đá c1.

PostgreSQLCung cấp các phương thức chỉ kèo bóng đá c1 B-Tree, Hash, Gist, Sp-Gist, Gin và Brin. Người dùng cũng có thể xác định các phương thức chỉ kèo bóng đá c1 của riêng họ, nhưng điều đó khá phức tạp.

KhiWHEREmệnh đề có mặt, AChỉ số một phầnđược tạo. Chỉ số một phần là một chỉ kèo bóng đá c1 chứa các kèo bóng đá c1 chỉ cho một phần của bảng, thường là một phần hữu ích hơn cho việc lập chỉ kèo bóng đá c1 so với phần còn lại của bảng. Ví dụ: nếu bạn có một bảng chứa cả các đơn đặt hàng được lập hóa đơn và chưa được thanh toán trong đó các đơn đặt hàng chưa được thực hiện một phần nhỏ của tổng số bảng và đó là một phần thường được sử dụng, bạn có thể cải thiện hiệu suất bằng cách tạo một chỉ kèo bóng đá c1 trên phần đó. Một ứng dụng khả thi khác là sử dụngWHEREvớiđộc đáo13331_13386Phần 11.8Để thảo luận thêm.

Biểu thức được sử dụng trongWHEREmệnh đề chỉ có thể tham khảo các cột của bảng bên dưới, nhưng nó có thể sử dụng tất cả các cột, không chỉ các cột được lập chỉ kèo bóng đá c1. Hiện tại, các mẫu con và biểu thức tổng hợp cũng bị cấm trongWHERE. Các hạn chế tương tự áp dụng cho các trường chỉ kèo bóng đá c1 là biểu thức.

Tất cả kèo bóng đá c1 chức năng và toán tử được sử dụng trong một định nghĩa chỉ số phải làbất biếnKhăn14010_14299WHEREmệnh đề, hãy nhớ đánh dấu hàm bất biến khi bạn kèo bóng đá c1 nó.

tham số

độc đáo

khiến hệ thống kiểm tra các giá trị trùng lặp trong bảng khi chỉ kèo bóng đá c1 được tạo (nếu dữ liệu đã tồn tại) và mỗi lần dữ liệu được thêm vào. Nỗ lực chèn hoặc cập nhật dữ liệu sẽ dẫn đến các kèo bóng đá c1 trùng lặp sẽ tạo ra lỗi.

Hạn chế bổ sung được áp dụng khi các chỉ kèo bóng đá c1 duy nhất được áp dụng cho các bảng được phân vùng; nhìn thấykèo bóng đá c1 bảng.

đồng thời

Khi tùy chọn này được sử dụng,PostgreSQLsẽ xây dựng chỉ kèo bóng đá c1 mà không cần bất kỳ khóa nào ngăn chặn các chèn, cập nhật hoặc xóa đồng thời trên bảng; trong khi một chỉ kèo bóng đá c1 tiêu chuẩn xây dựng khóa ghi (nhưng không đọc) trên bảng cho đến khi hoàn thành. Có một số cảnh báo để biết khi sử dụng tùy chọn này - xemChỉ kèo bóng đá c1 xây dựng đồng thờibên dưới.

cho kèo bóng đá c1 bảng tạm thời,Tạo chỉ kèo bóng đá c1luôn không hòa âm, vì không có phiên nào khác có thể truy cập chúng và việc tạo chỉ kèo bóng đá c1 không hòa âm rẻ hơn.

16000_16015

Không ném lỗi nếu mối quan hệ có cùng tên đã tồn tại. Một thông báo được đưa ra trong trường hợp này. Lưu ý rằng không có gì đảm bảo rằng chỉ kèo bóng đá c1 hiện tại là bất cứ điều gì giống như kèo bóng đá c1 tiêu được tạo ra. Tên chỉ kèo bóng đá c1 được yêu cầu khiNếu không tồn tạiđược chỉ định.

Bao gồm

Tùy chọnBao gồmmệnh đề Chỉ định danh sách các cột sẽ được bao gồm trong chỉ kèo bóng đá c1 làkhông khóaCột. Một cột không khóa không thể được sử dụng trong trình độ tìm kiếm quét chỉ kèo bóng đá c1 và nó bị coi thường cho các kèo bóng đá c1 đích của bất kỳ ràng buộc độc đáo hoặc loại trừ nào được thực thi bởi chỉ kèo bóng đá c1. Tuy nhiên, quét chỉ có chỉ kèo bóng đá c1 có thể trả về nội dung của các cột không phải là mà không phải truy cập bảng của chỉ kèo bóng đá c1, vì chúng có sẵn trực tiếp từ kèo bóng đá c1 nhập chỉ kèo bóng đá c1. Do đó, việc bổ sung các cột không khóa cho phép sử dụng các lần quét chỉ có chỉ kèo bóng đá c1 cho các truy vấn mà không thể sử dụng chúng.

Thật khôn ngoan khi bảo thủ về việc thêm các cột không khóa vào một chỉ kèo bóng đá c1, đặc biệt là các cột rộng. Nếu một bộ chỉ số vượt quá kích thước tối đa được phép cho loại chỉ kèo bóng đá c1, việc chèn dữ liệu sẽ không thành công. Trong mọi trường hợp, các cột không phải là dữ liệu trùng lặp từ bảng của chỉ kèo bóng đá c1 và tăng kích thước của chỉ kèo bóng đá c1, do đó có khả năng làm chậm các tìm kiếm. Hơn nữa, sự trùng lặp B-cây không bao giờ được sử dụng với các chỉ kèo bóng đá c1 có cột không khóa.

kèo bóng đá c1 cột được liệt kê trongBao gồmmệnh đề không cần kèo bóng đá c1 lớp toán tử thích hợp; mệnh đề có thể bao gồm kèo bóng đá c1 cột có kèo bóng đá c1 loại dữ liệu không có kèo bóng đá c1 lớp toán tử được xác định cho một phương thức truy cập nhất định.

Biểu thức không được hỗ trợ như các cột bao gồm vì chúng không thể được sử dụng trong các lần quét chỉ có chỉ kèo bóng đá c1.

Hiện tại, các phương thức truy cập chỉ kèo bóng đá c1 B-Tree, Gist và SP-Gist hỗ trợ tính năng này. Trong các chỉ kèo bóng đá c1 này, các giá trị của các cột được liệt kê trongBao gồm18081_18227

18305_18311

Tên của chỉ kèo bóng đá c1 sẽ được tạo. Không có tên lược đồ có thể được bao gồm ở đây; Chỉ kèo bóng đá c1 luôn được tạo trong cùng lược đồ với bảng cha mẹ của nó. Tên của chỉ số phải khác biệt với tên của bất kỳ mối quan hệ nào khác (bảng, trình tự, chỉ kèo bóng đá c1, chế độ xem, chế độ xem vật chất hóa hoặc bảng nước ngoài) trong lược đồ đó. Nếu tên bị bỏ qua,PostgreSQLChọn tên phù hợp dựa trên tên của bảng cha và tên cột được lập chỉ kèo bóng đá c1.

Chỉ

Cho biết không tái sử dụng các chỉ kèo bóng đá c1 trên các phân vùng, nếu bảng được phân vùng. Mặc định là tái diễn.

Table_Name

Tên (có thể là sơ đồ) của bảng được lập chỉ kèo bóng đá c1.

Phương pháp

Tên của phương thức chỉ kèo bóng đá c1 sẽ được sử dụng. Lựa chọn làBtree, Hash, Gist, spgist, Gin, Brinhoặc kèo bóng đá c1 phương thức truy cập do người dùng cài đặt nhưBloom. Phương thức mặc định làBtree.

Cột_name

Tên của một cột của bảng.

Biểu thức

Một biểu thức dựa trên một hoặc nhiều cột của bảng. Biểu thức thường phải được viết bằng dấu ngoặc đơn xung quanh, như thể hiện trong cú pháp. Tuy nhiên, dấu ngoặc đơn có thể được bỏ qua nếu biểu thức có dạng gọi hàm.

đối chiếu

Tên của đối chiếu sẽ sử dụng cho chỉ kèo bóng đá c1. Theo mặc định, chỉ kèo bóng đá c1 sử dụng đối chiếu được khai báo cho cột được lập chỉ kèo bóng đá c1 hoặc đối chiếu kết quả của biểu thức được lập chỉ kèo bóng đá c1. Các chỉ kèo bóng đá c1 với các đối chiếu không mặc định có thể hữu ích cho các truy vấn liên quan đến các biểu thức bằng cách sử dụng các đối chiếu không mặc định.

opClass

Tên của một lớp toán tử. Xem bên dưới để biết chi tiết.

opClass_parameter

Tên của tham số lớp toán tử. Xem bên dưới để biết chi tiết.

ASC

Chỉ định thứ tự sắp xếp tăng dần (là mặc định).

Desc

Chỉ định thứ tự sắp xếp giảm dần.

NULLS đầu tiên

Chỉ định rằng NULLS sắp xếp trước kèo bóng đá c1 nulls. Đây là mặc định khiDESC21781_21797

NULLS LAST

Chỉ định rằng NULLS sắp xếp sau những người không phải là null. Đây là mặc định khiDesckhông được chỉ định.

nulls khác biệt
nulls không khác biệt

Chỉ định xem có chỉ số duy nhất hay không, các giá trị null nên được coi là khác biệt (không bằng). Mặc định là chúng khác biệt, do đó một chỉ kèo bóng đá c1 duy nhất có thể chứa nhiều giá trị null trong một cột.

Storage_Parameter

Tên của tham số lưu trữ dành riêng cho phương pháp chỉ kèo bóng đá c1. Nhìn thấyTham số lưu trữ chỉ kèo bóng đá c1bên dưới để biết chi tiết.

TablePace_Name

Không gian bảng để tạo chỉ kèo bóng đá c1. Nếu không được chỉ định,default_tablespaceđược tư vấn hoặcTEMP_TABLESPACES23235_23270

vị ngữ

Biểu thức ràng buộc cho một chỉ kèo bóng đá c1 một phần.

Tham số lưu trữ chỉ kèo bóng đá c1

Tùy chọnvớimệnh đề Chỉ địnhThông số lưu trữ23721_23879

fillfactor(Số nguyên)

24218_24715

Biểu chỉ B-Tree trên kèo bóng đá c1 bảng trong đó nhiều phần chèn và/hoặc cập nhật được dự đoán có thể được hưởng lợi từ cài đặt fillfactor thấp hơn tạiTạo chỉ kèo bóng đá c1Thời gian (sau tải số lượng lớn vào bảng). kèo bóng đá c1 giá trị trong phạm vi 50 - 90 có thể hữu íchmịn raHồiTheRATE25100_25351Phần 67.4.2phụ thuộc vào việc có một sốHồiExtrakhông gian trên kèo bóng đá c1 trang để lưu trữExtraPhiên bản tuple và do đó có thể bị ảnh hưởng bởi fillfactor (mặc dù hiệu ứng thường không đáng kể).

Trong kèo bóng đá c1 trường hợp cụ thể khác, có thể hữu ích khi tăng fillfactor lên 100 tạiTạo chỉ kèo bóng đá c1Thời gian như một cách tối đa hóa việc sử dụng không gian. Bạn chỉ nên xem xét điều này khi bạn hoàn toàn chắc chắn rằng bảng là tĩnh (nghĩa là nó sẽ không bao giờ bị ảnh hưởng bởi kèo bóng đá c1 chèn hoặc cập nhật). Cài đặt fillfactor là 100 rủi ro khácHARMINGHiệu suất: Thậm chí một vài bản cập nhật hoặc chèn sẽ gây ra một loạt kèo bóng đá c1 lần phân chia trang.

Các phương thức chỉ kèo bóng đá c1 khác sử dụng fillfactor theo những cách khác nhau nhưng gần như tương tự; Trình điền mặc định khác nhau giữa các phương thức.

Biểu chỉ B-cây cũng chấp nhận tham số này:

DEDuplicate_Items(Boolean)

Kiểm soát việc sử dụng kỹ thuật sao chép cây b được mô tả trongPhần 67.4.3. Đặt thànhtrênhoặcTẮTĐể cho phép hoặc vô hiệu hóa tối ưu hóa. (Chính tả thay thếtrênTẮTđược phép như mô tả trongPhần 20.1.) Mặc định làtrên.

Lưu ý

TurnDEDuplicate_ItemsTẮT quaINDEX ALTER27661_27817

Chỉ số GIST chấp nhận tham số này:

Buffering(enum)

Xác định xem kỹ thuật xây dựng đệm được mô tả trongPhần 68.4.1được sử dụng để xây dựng chỉ kèo bóng đá c1. VớiTẮTBộ đệm bị vô hiệu hóa, vớitrênNó được bật và vớiAutoBan đầu nó bị vô hiệu hóa, nhưng được bật trên đường khi kích thước chỉ kèo bóng đá c1 đạt đếnhiệu quả_cache_size. Mặc định làAuto. Lưu ý rằng nếu có thể xây dựng được sắp xếp, nó sẽ được sử dụng thay vì bản dựng được đệm trừ khiBuffering = ONđược chỉ định.

Chỉ kèo bóng đá c1 GIN Chấp nhận các tham số khác nhau:

Fastupdate(Boolean)

Cài đặt này kiểm soát việc sử dụng kỹ thuật cập nhật nhanh được mô tả trongPhần 70.4.1. Nó là một tham số boolean:trênCho phép cập nhật nhanh,TẮTVô hiệu hóa nó. Mặc định làtrên.

Lưu ý

TurnFastupdateTẮT quaINDEX ALTERNgăn chặn các phần chèn trong tương lai đi vào danh sách các kèo bóng đá c1 nhập chỉ kèo bóng đá c1 đang chờ xử lý, nhưng bản thân nó không tự xóa các kèo bóng đá c1 trước đó. Bạn có thể muốnNút hútBảng hoặc gọigin_clean_pending_listHàm sau để đảm bảo danh sách đang chờ xử lý được làm trống.

gin_pending_list_limit(Số nguyên)

tùy chỉnhgin_pending_list_limitTham số. Giá trị này được chỉ định trong kilobyte.

BrinChỉ kèo bóng đá c1 Chấp nhận các tham số khác nhau:

pages_per_range(Số nguyên)

Xác định số lượng các khối bảng tạo thành một phạm vi khối cho mỗi kèo bóng đá c1 của ABrin31546_31560Phần 71.1Để biết thêm chi tiết). Mặc định là128.

Autosummarize(Boolean)

Xác định xem việc chạy tóm tắt có được xếp hàng cho phạm vi trang trước bất cứ khi nào được phát hiện là chèn vào phần tiếp theo. Nhìn thấyPhần 71.1.1Để biết thêm chi tiết. Mặc định làTẮT.

32458_32489

32575_32656PostgreSQLKhóa bảng để được lập chỉ kèo bóng đá c1 chống lại ghi và thực hiện toàn bộ chỉ số xây dựng chỉ với một lần quét bảng. Các giao dịch khác vẫn có thể đọc bảng, nhưng nếu họ cố gắng chèn, cập nhật hoặc xóa các hàng trong bảng, chúng sẽ chặn cho đến khi bản dựng chỉ kèo bóng đá c1 kết thúc. Điều này có thể có ảnh hưởng nghiêm trọng nếu hệ thống là cơ sở dữ liệu sản xuất trực tiếp. Các bảng rất lớn có thể mất nhiều giờ để được lập chỉ kèo bóng đá c1 và ngay cả đối với các bảng nhỏ hơn, bản dựng chỉ kèo bóng đá c1 có thể khóa các nhà văn trong các khoảng thời gian dài không thể chấp nhận được cho một hệ thống sản xuất.

POSTGRESQLHỗ trợ các chỉ kèo bóng đá c1 xây dựng mà không cần khóa ghi. Phương thức này được gọi bằng cách chỉ địnhđồng thờiTùy chọnTạo chỉ kèo bóng đá c1. Khi tùy chọn này được sử dụng,POSTGRESQLPhải thực hiện hai lần quét của bảng và ngoài ra, nó phải chờ tất cả các giao dịch hiện có có khả năng sửa đổi hoặc sử dụng chỉ kèo bóng đá c1 để chấm dứt. Do đó, phương pháp này đòi hỏi nhiều công việc hơn so với xây dựng chỉ kèo bóng đá c1 tiêu chuẩn và mất nhiều thời gian hơn để hoàn thành. Tuy nhiên, vì nó cho phép các hoạt động bình thường tiếp tục trong khi chỉ kèo bóng đá c1 được xây dựng, phương pháp này rất hữu ích để thêm các chỉ kèo bóng đá c1 mới trong môi trường sản xuất. Tất nhiên, tải thêm CPU và I/O được áp đặt bởi việc tạo chỉ kèo bóng đá c1 có thể làm chậm các hoạt động khác.

Trong bản dựng chỉ kèo bóng đá c1 đồng thời, chỉ kèo bóng đá c1 thực sự được nhập dưới dạngkhông hợp lệChỉ kèo bóng đá c1 vào danh kèo bóng đá c1 hệ thống trong một giao dịch, sau đó hai lần quét bảng xảy ra trong hai giao dịch nữa. Trước mỗi lần quét bảng, bản dựng chỉ kèo bóng đá c1 phải chờ các giao dịch hiện tại đã sửa đổi bảng chấm dứt. Sau lần quét thứ hai, bản dựng chỉ kèo bóng đá c1 phải chờ bất kỳ giao dịch nào có ảnh chụp nhanh (xemChương 1334633_34890hợp lệvà sẵn sàng sử dụng vàTạo chỉ kèo bóng đá c1lệnh chấm dứt. Tuy nhiên, ngay cả sau đó, chỉ kèo bóng đá c1 có thể không được sử dụng ngay lập tức cho các truy vấn: trong trường hợp xấu nhất, nó không thể được sử dụng miễn là các giao dịch tồn tại trước khi bắt đầu xây dựng chỉ kèo bóng đá c1.

Nếu có vấn đề phát sinh trong khi quét bảng, chẳng hạn như bế tắc hoặc vi phạm tính duy nhất trong một chỉ kèo bóng đá c1 duy nhất,Tạo chỉ kèo bóng đá c1Lệnh sẽ thất bại nhưng bỏ lại phía saukhông hợp lệINDEX. Chỉ số này sẽ bị bỏ qua cho các kèo bóng đá c1 đích truy vấn vì nó có thể không đầy đủ; Tuy nhiên, nó vẫn sẽ tiêu thụ cập nhật chi phí. ThePSQL \ DLệnh sẽ báo cáo một chỉ kèo bóng đá c1 nhưkhông hợp lệ:

postgres =# \ d tab
       Bảng "public.tab"
 Cột |  Loại | Đối chiếu | Vô hiệu | Mặc định
--------+---------+-----------+----------+---------
 col | Số nguyên |           |          |
Chỉ kèo bóng đá c1:
    "idx" btree (col) không hợp lệ

Phương pháp phục hồi được đề xuất trong các trường hợp như vậy là bỏ chỉ kèo bóng đá c1 và thử lại để thực hiệnTạo chỉ kèo bóng đá c1 đồng thời. (Một khả năng khác là xây dựng lại chỉ kèo bóng đá c1 bằngIndex Reindex đồng thời).

Một cảnh báo khác khi xây dựng một chỉ kèo bóng đá c1 duy nhất đồng thời là ràng buộc tính độc đáo đã được thực thi đối với các giao dịch khác khi quét bảng thứ hai bắt đầu. Điều này có nghĩa là các vi phạm ràng buộc có thể được báo cáo trong các truy vấn khác trước khi chỉ số có sẵn để sử dụng hoặc thậm chí trong trường hợp bản dựng chỉ số cuối cùng thất bại. Ngoài ra, nếu một lỗi xảy ra trong lần quét thứ hai,không hợp lệHồiINDEX tiếp tục thực thi ràng buộc tính độc đáo của nó sau đó.

Xây dựng đồng thời các chỉ kèo bóng đá c1 biểu thức và chỉ kèo bóng đá c1 một phần được hỗ trợ. Các lỗi xảy ra trong việc đánh giá các biểu thức này có thể gây ra hành vi tương tự như mô tả ở trên cho các vi phạm ràng buộc duy nhất.

Các bản dựng chỉ kèo bóng đá c1 chính quy cho phép các bản dựng chỉ kèo bóng đá c1 thông thường khác trên cùng một bảng xảy ra đồng thời, nhưng chỉ có một bản dựng chỉ kèo bóng đá c1 đồng thời có thể xảy ra trên bảng tại một thời điểm. Trong cả hai trường hợp, việc sửa đổi lược đồ của bảng không được phép trong khi chỉ kèo bóng đá c1 đang được xây dựng. Một điểm khác biệt khác là một thông thườngTạo chỉ kèo bóng đá c1Có thể thực hiện lệnh trong một khối giao dịch, nhưngTạo chỉ kèo bóng đá c1 đồng thờikhông thể.

Xây dựng đồng thời cho các chỉ kèo bóng đá c1 trên các bảng được phân vùng hiện không được hỗ trợ. Tuy nhiên, bạn có thể đồng thời xây dựng chỉ kèo bóng đá c1 trên từng phân vùng riêng lẻ và cuối cùng tạo ra chỉ kèo bóng đá c1 được phân vùng không liên tục để giảm thời gian ghi vào bảng được phân vùng sẽ bị khóa. Trong trường hợp này, việc xây dựng chỉ kèo bóng đá c1 được phân vùng là một hoạt động chỉ có siêu dữ liệu.

ghi chú

38063_38069Chương 11Để biết thông tin về khi nào các chỉ kèo bóng đá c1 có thể được sử dụng, khi chúng không được sử dụng và trong đó các tình huống cụ thể, chúng có thể hữu ích.

Hiện tại, chỉ có các phương thức B-Tree, Gist, Gin và Brin chỉ hỗ trợ các chỉ kèo bóng đá c1 nhiều cột. Liệu có thể có nhiều cột khóa độc lập với việcBao gồmCác cột có thể được thêm vào chỉ kèo bóng đá c1. Các chỉ kèo bóng đá c1 có thể có tối đa 32 cột, bao gồmBao gồmCột. (Giới hạn này có thể được thay đổi khi xây dựngPostgreSQL.) Chỉ có B-cây hiện đang hỗ trợ các chỉ kèo bóng đá c1 duy nhất.

ANLớp toán tử38818_39041INT4_OPSlớp; Lớp toán tử này bao gồm các hàm so sánh cho các số nguyên bốn byte. Trong thực tế, lớp toán tử mặc định cho kiểu dữ liệu của cột thường là đủ. Điểm chính của việc có các lớp toán tử là đối với một số loại dữ liệu, có thể có nhiều hơn một thứ tự có ý nghĩa. Ví dụ: chúng ta có thể muốn sắp xếp một loại dữ liệu số phức tạp theo giá trị tuyệt đối hoặc theo phần thực. Chúng tôi có thể làm điều này bằng cách xác định hai lớp toán tử cho kiểu dữ liệu và sau đó chọn lớp thích hợp khi tạo một chỉ kèo bóng đá c1. Thêm thông tin về các lớp toán tử ởPhần 11.10và trongPhần 38.16.

KhiTạo chỉ kèo bóng đá c139949_40509chỉTùy chọn được chỉ định, không có đệ quy được thực hiện và chỉ kèo bóng đá c1 được đánh dấu không hợp lệ. (Chỉ số thay đổi ... Đính kèm phân vùngĐánh dấu chỉ kèo bóng đá c1 hợp lệ, một khi tất cả các phân vùng có được các chỉ kèo bóng đá c1 khớp.) Tuy nhiên, lưu ý rằng bất kỳ phân vùng nào được tạo trong tương lai bằng cách sử dụngkèo bóng đá c1 bảng ... phân vùng củaSẽ tự động có chỉ kèo bóng đá c1 phù hợp, bất kểChỉđược chỉ định.

Đối với các phương thức chỉ kèo bóng đá c1 hỗ trợ quét đã đặt hàng (hiện tại, chỉ b-cây), các điều khoản tùy chọnASC, Desc, NULLS đầu tiên, và/hoặcNULLS LASTcó thể được chỉ định để sửa đổi thứ tự sắp xếp của chỉ kèo bóng đá c1. Vì một chỉ kèo bóng đá c1 được đặt hàng có thể được quét về phía trước hoặc lùi, nên thường không hữu ích khi tạo một cột đơnDescINDEX - Đơn hàng sắp xếp đó đã có sẵn với một chỉ kèo bóng đá c1 thông thường. Giá trị của các tùy chọn này là các chỉ kèo bóng đá c1 Multicolumn có thể được tạo phù hợp với thứ tự sắp xếp được yêu cầu bởi một truy vấn đặt hàng hỗn hợp, chẳng hạn nhưChọn ... Đặt hàng bởi X ASC, Y Desc. TheNULLSTùy chọn rất hữu ích nếu bạn cần hỗ trợnulls sắp xếp thấpKhănHành vi, thay vì mặc địnhnulls Sắp xếp caoKhăn, trong các truy vấn phụ thuộc vào các chỉ kèo bóng đá c1 để tránh sắp xếp các bước.

42069_42302Phân tíchhoặc đợiDaemon AutovacuumĐể phân tích bảng để tạo số liệu thống kê cho các chỉ kèo bóng đá c1 này.

Đối với hầu hết các phương thức chỉ kèo bóng đá c1, tốc độ tạo một chỉ kèo bóng đá c1 phụ thuộc vào cài đặt củabảo trì_work_mem. Các giá trị lớn hơn sẽ giảm thời gian cần thiết để tạo chỉ kèo bóng đá c1, miễn là bạn không làm cho nó lớn hơn lượng bộ nhớ thực sự có sẵn, điều này sẽ đưa máy hoán đổi.

PostgreSQLCó thể xây dựng các chỉ kèo bóng đá c1 trong khi tận dụng nhiều CPU để xử lý các hàng bảng nhanh hơn. Tính năng này được gọi làBản dựng chỉ kèo bóng đá c1 song song. Đối với các phương thức chỉ kèo bóng đá c1 hỗ trợ các chỉ kèo bóng đá c1 xây dựng song song (hiện tại, chỉ b-cây),bảo trì_work_memChỉ định lượng bộ nhớ tối đa có thể được sử dụng bởi mỗi hoạt động xây dựng chỉ kèo bóng đá c1, bất kể có bao nhiêu quy trình công nhân được bắt đầu. Nói chung, một mô hình chi phí tự động xác định số lượng quy trình công nhân nên được yêu cầu, nếu có.

Bản dựng chỉ kèo bóng đá c1 song song có thể được hưởng lợi từ việc tăngbảo trì_work_memTrong đó bản dựng chỉ kèo bóng đá c1 nối tiếp tương đương sẽ thấy rất ít hoặc không có lợi ích. Lưu ý rằngbảo trì_work_memCó thể ảnh hưởng đến số lượng quy trình công nhân được yêu cầu, vì công nhân song song phải có ít nhất một32MBChia sẻ tổng sốbảo trì_work_memNgân sách. Cũng phải có một cái còn lại32MBChia sẻ cho quy trình lãnh đạo. Tăng dần44245_44279Có thể cho phép sử dụng nhiều công nhân hơn, điều này sẽ giảm thời gian cần thiết để tạo chỉ kèo bóng đá c1, miễn là bản dựng chỉ kèo bóng đá c1 chưa bị ràng buộc I/O. Tất nhiên, cũng cần có đủ công suất CPU mà nếu không nằm trong tình trạng nhàn rỗi.

Đặt giá trị chosong song_workersViaBảng thay đổitrực tiếp kiểm soát số lượng quy trình công nhân song song sẽ được yêu cầu bởi ATạo chỉ kèo bóng đá c144817_44893bảo trì_work_memTừ việc ảnh hưởng đến số lượng công nhân song song được yêu cầu. Cài đặtsong song_workersđến 0 quaBảng thay đổiSẽ vô hiệu hóa các bản dựng chỉ kèo bóng đá c1 song song trên bảng trong mọi trường hợp.

TIP

Bạn có thể muốn đặt lạisong song_workersSau khi đặt nó như một phần của việc điều chỉnh bản dựng chỉ kèo bóng đá c1. Điều này tránh các thay đổi vô ý đối với các kế hoạch truy vấn, vìsong song_workersảnh hưởngtất cả45502_45526

trong khiTạo chỉ kèo bóng đá c1vớiđồng thờiTùy chọn hỗ trợ kèo bóng đá c1 bản dựng song song mà không có giới hạn đặc biệt, chỉ có quét bảng đầu tiên thực sự được thực hiện song song.

sử dụngDrop IndexĐể xóa một chỉ kèo bóng đá c1.

Giống như bất kỳ giao dịch dài nào,Tạo chỉ kèo bóng đá c1Trên bảng có thể ảnh hưởng đến bộ dữ liệu nào có thể được loại bỏ bằng cách đồng thờiVACUUMTrên bất kỳ bảng nào khác.

Phát hành trướcPOSTGRESQLCũng có phương thức chỉ kèo bóng đá c1 r-cây. Phương pháp này đã bị loại bỏ vì nó không có lợi thế đáng kể so với phương pháp GIST. Nếu nhưSử dụng RTREEđược chỉ định,Tạo chỉ kèo bóng đá c1sẽ giải thích nó là46458_46470, Để đơn giản hóa việc chuyển đổi cơ sở dữ liệu cũ thành GIST.

mỗi phụ trợ chạyTạo chỉ kèo bóng đá c1sẽ báo cáo tiến trình của nó trongPG_STAT_PROTERS_CREATE_INDEXXem. Nhìn thấyPhần 28.4.2Để biết chi tiết.

Ví dụ

Để tạo chỉ kèo bóng đá c1 B-cây duy nhất trên cộtTiêu đềTrong bảngPhim:

Tạo chỉ kèo bóng đá c1 độc đáo Title_idx trên phim (Tiêu đề);

Để tạo chỉ kèo bóng đá c1 B-cây duy nhất trên cộtTiêu đềVới kèo bóng đá c1 cột bao gồmGiám đốcXếp hạngTrong bảngPhim:

Tạo chỉ kèo bóng đá c1 độc đáo Title_idx trên phim (Tiêu đề) Bao gồm (Giám đốc, xếp hạng);

Để tạo chỉ kèo bóng đá c1 B-cây với sự trùng lặp bị vô hiệu hóa:

47634_47709

Để tạo một chỉ kèo bóng đá c1 trên biểu thứcthấp hơn (tiêu đề), cho phép tìm kiếm không nhạy cảm trường hợp hiệu quả:

Tạo chỉ kèo bóng đá c1 trên phim ((thấp hơn (tiêu đề)));

(Trong ví dụ này, chúng tôi đã chọn bỏ qua tên chỉ kèo bóng đá c1, vì vậy hệ thống sẽ chọn một tên, thường làfilms_lower_idx.)

Để tạo một chỉ kèo bóng đá c1 với đối chiếu không mặc định:

Tạo chỉ kèo bóng đá c1 TITTER_IDX_GERMAN trên phim (tiêu đề đối chiếu "de_de");

Để tạo một chỉ kèo bóng đá c1 với thứ tự sắp xếp không mặc định của NULLS:

Tạo chỉ kèo bóng đá c1 TITT_IDX_NULLS_LOW trên phim (Tiêu đề NULLS đầu tiên);

Để tạo một chỉ kèo bóng đá c1 với hệ số điền không mặc định:

Tạo chỉ kèo bóng đá c1 độc đáo Title_idx trên phim (Tiêu đề) với (fillfactor = 70);

Để kèo bóng đá c1 AGinINDEX với kèo bóng đá c1 bản cập nhật nhanh bị vô hiệu hóa:

48724_48814

Để tạo một chỉ kèo bóng đá c1 trên cộtCodeTrong bảngPhimvà có chỉ kèo bóng đá c1 nằm trong không gian bảngIndexSpace:

Tạo index code_idx trên films (mã) không gian bảng chỉ kèo bóng đá c1;

Để tạo chỉ kèo bóng đá c1 GIST trên thuộc tính điểm để chúng ta có thể sử dụng hiệu quả các toán tử hộp về kết quả của chức năng chuyển đổi:

Tạo chỉ kèo bóng đá c1 Pointloc
    Trên các điểm sử dụng gist (hộp (vị trí, vị trí));
Chọn * từ các điểm
    Trong đó hộp (vị trí, vị trí) && '(0,0), (1,1)' :: box;

Để tạo một chỉ kèo bóng đá c1 mà không khóa ghi vào bảng:

Tạo chỉ kèo bóng đá c1 đồng thời sales_quantity_index trên sales_table (số lượng);

Tương thích

Tạo chỉ kèo bóng đá c1là mộtPostgreSQLMở rộng ngôn ngữ. Không có quy định cho các chỉ kèo bóng đá c1 trong tiêu chuẩn SQL.

Gửi hiệu chỉnh

Nếu bạn thấy bất cứ điều gì trong tài liệu 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 liệu.