Postgresql 8.2.23 Tài liệu | ||||
---|---|---|---|---|
prev | Backward nhanh | Chuyển tiếp nhanh | Tiếp theo |
Tạo [duy nhất] chỉ soi kèo bóng đá truoctran [đồng thời]têntrênBảng[sử dụngPhương pháp] (Cột| (Biểu thức) [opClass] [, ...]) [ VỚI (Storage_Parameter=giá trị[, ...])]]] [Không gian bảngkhông gian bảng] [ Ở ĐÂUvị ngữ]
Tạo chỉ soi kèo bóng đá truoctranXây dựng một chỉ soi kèo bóng đá truoctranindex_nameTrên được chỉ định bàn. Các chỉ soi kèo bóng đá truoctran chủ yếu được sử dụng để nâng cao hiệu suất cơ sở dữ liệu (mặc dù sử dụng không phù hợp có thể dẫn đến hiệu suất chậm hơn).
(Các) trường chính cho chỉ soi kèo bóng đá truoctran được chỉ định là tên cột, hoặc thay vào đó là biểu thức được viết trong ngoặc đơn. Nhiều Các trường có thể được chỉ định nếu phương thức chỉ soi kèo bóng đá truoctran hỗ trợ nhiều trường hợp chỉ soi kèo bóng đá truoctran.
12038_12285Upper (col)sẽ cho phép mệnh đềTrong đó trên (col) = 'jim'Để sử dụng chỉ soi kèo bóng đá truoctran.
PostgreSQLcung cấp chỉ soi kèo bóng đá truoctran Phương pháp B-Tree, Hash, Gist và Gin. Người dùng cũng có thể xác định Các phương thức chỉ soi kèo bóng đá truoctran riêng, nhưng điều đó khá phức tạp.
KhiWHEREmệnh đề có mặt, AChỉ soi kèo bóng đá truoctran một phần12719_13208WHEREvớiđộc đáoĐể thực thi tính duy nhất đối với soi kèo bóng đá truoctran tập hợp con bàn. Nhìn thấyPhần 11.7cho 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ỉ soi kèo bóng đá truoctran. 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ỉ soi kèo bóng đá truoctran là biểu thức.
Tất cả các chức năng và toán tử được sử dụng trong soi kèo bóng đá truoctran định nghĩa chỉ số phải là"Immutable", nghĩa là kết quả của họ phải chỉ phụ thuộc vào lập luận của họ và không bao giờ vào bên ngoài ảnh hưởng (chẳng hạn như nội dung của bảng khác hoặc hiện tại thời gian). Hạn chế này đảm bảo rằng hành vi của chỉ soi kèo bóng đá truoctran là được xác định rõ. Để sử dụng chức năng do người dùng xác định trong một chỉ soi kèo bóng đá truoctran biểu thức hoặcWHEREmệnh đề, hãy nhớ Đánh dấu chức năng bất biến khi bạn soi kèo bóng đá truoctran nó.
khiến hệ thống kiểm tra các giá trị trùng lặp trong Bảng khi chỉ soi kèo bóng đá truoctran đượ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. Cố gắng chèn hoặc cập nhật dữ liệu điều này sẽ dẫn đến các soi kèo bóng đá truoctran trùng lặp sẽ tạo ra một lỗi.
Khi tùy chọn này được sử dụng,PostgreSQLSẽ xây dựng chỉ soi kèo bóng đá truoctran mà không cần bất kỳ ổ khóa nào ngăn chặn các phần chèn đồng thời, cập nhật hoặc xóa trên bảng; trong khi một chỉ số tiêu chuẩn xây dựng khóa ghi (nhưng không đọc) trên bảng cho đến khi Nó đã xong. Có một số cảnh báo để biết khi nào Sử dụng tùy chọn này - XemTòa nhà Chỉ soi kèo bóng đá truoctran đồng thời.
Tên của chỉ soi kèo bóng đá truoctran sẽ được tạo. Không có tên lược đồ có thể được bao gồm ở đây; Chỉ soi kèo bóng đá truoctran luôn được tạo trong cùng một lược đồ làm bảng cha mẹ của nó.
Tên (có thể là sơ đồ) của bảng) được lập chỉ soi kèo bóng đá truoctran.
Tên của phương thức chỉ soi kèo bóng đá truoctran sẽ được sử dụng. Lựa chọn làBtree, Hash, gistvàGin. Phương thức mặc định làBtree.
Tên của soi kèo bóng đá truoctran cột của bảng.
soi kèo bóng đá truoctran biểu thức dựa trên soi kèo bóng đá truoctran hoặc nhiều cột của bảng. Biểu thức thường phải được viết với xung quanh Điểm số, như thể hiện trong cú pháp. Tuy nhiên, dấu ngoặc đơn có thể bị bỏ qua nếu biểu thức có biểu mẫu của soi kèo bóng đá truoctran cuộc gọi chức năng.
Tên của soi kèo bóng đá truoctran lớp toán tử. Xem bên dưới cho chi tiết.
16908_16996
17093_17166default_tablespaceđược sử dụng hoặc không gian bảng mặc định của cơ sở dữ liệu nếudefault_tablespacelà soi kèo bóng đá truoctran chuỗi trống.
Biểu thức ràng buộc cho một chỉ soi kèo bóng đá truoctran một phần.
Thevớimệnh đề có thể chỉ địnhThông số lưu trữĐối với các chỉ soi kèo bóng đá truoctran. Mỗi Phương pháp chỉ soi kèo bóng đá truoctran có thể có bộ lưu trữ được phép riêng tham số. Các phương thức chỉ soi kèo bóng đá truoctran tích hợp đều chấp nhận một tham số:
18118_19053
Tạo một chỉ soi kèo bóng đá truoctran có thể can thiệp vào hoạt động thường xuyên của A cơ sở dữ liệu. Thông thườngPostgreSQLKhóa bảng để được lập chỉ soi kèo bóng đá truoctran chống lại ghi và thực hiện toàn bộ chỉ soi kèo bóng đá truoctran xây dựng với một lần quét bảng. Khác giao dịch 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 hàng trong bảng, chúng sẽ chặn Cho đến khi bản dựng chỉ số kết thúc. Điều này có thể nghiêm trọng Hiệu ứng nếu hệ thống là cơ sở dữ liệu sản xuất trực tiếp. Lớn bảng có thể mất nhiều giờ để được lập chỉ soi kèo bóng đá truoctran và thậm chí đối với nhỏ hơn bảng, bản dựng chỉ soi kèo bóng đá truoctran 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ợ Chỉ số xây dựng mà không khóa viết. Phương pháp này là được gọi bằng cách chỉ địnhĐồng thờiTùy chọn củaTạo chỉ soi kèo bóng đá truoctran. Khi này Tùy chọn đượ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 Đợi tất cả các giao dịch hiện có chấm dứt. Vì vậy, điều này Phương pháp đòi hỏi nhiều công việc hơn so với bản dựng chỉ soi kèo bóng đá truoctran 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ỉ soi kèo bóng đá truoctran được xây dựng, Phương pháp này rất hữu ích để thêm các chỉ soi kèo bóng đá truoctran mới trong sản xuất môi trường. Tất nhiên, tải thêm CPU và I/O được áp đặt bởi Tạo chỉ soi kèo bóng đá truoctran có thể làm chậm các hoạt động khác.
Nếu có sự cố phát sinh trong lần quét thứ hai của bảng, chẳng hạn như vi phạm tính độc đáo trong một chỉ soi kèo bóng đá truoctran duy nhất,Tạo chỉ soi kèo bóng đá truoctranlệnh sẽ thất bại nhưng Để lại soi kèo bóng đá truoctran"không hợp lệ"INDEX. Chỉ số này sẽ bị bỏ qua cho các soi kèo bóng đá truoctran đí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í. Phương pháp phục hồi được đề xuất trong các trường hợp như vậy là bỏ chỉ soi kèo bóng đá truoctran và thử lại để thực hiệnTạo chỉ soi kèo bóng đá truoctran Đồng thời. (soi kèo bóng đá truoctran khả năng khác là xây dựng lại chỉ số vớiReindex. Tuy nhiên, vìReindexKhông hỗ trợ đồng thời xây dựng, tùy chọn này không có vẻ hấp dẫn.)
Một cảnh báo khác khi xây dựng một chỉ soi kèo bóng đá truoctran duy nhất đồng thời là rằng hạn chế tính độc đáo đã được thực thi chống lạ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ỉ soi kèo bóng đá truoctran có sẵn để sử dụng hoặc Ngay cả trong trường hợp xây 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ệ"INDEX tiếp tục thực thi nó Ràng buộc duy nhất sau đó.
xây dựng đồng thời các chỉ soi kèo bóng đá truoctran biểu thức và chỉ soi kèo bóng đá truoctran một phần được hỗ trợ. Lỗi xảy ra trong việc đánh giá những lỗi này Biểu thức 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.
22410_22717Tạo chỉ soi kèo bóng đá truoctranCó thể thực hiện lệnh trong soi kèo bóng đá truoctran Khối giao dịch, nhưngTạo chỉ soi kèo bóng đá truoctran Đồng thờikhông thể.
xemChương 11Để biết thông tin về khi nào các chỉ soi kèo bóng đá truoctran có thể được sử dụng, khi chúng không được sử dụng và trong những tình huống cụ thể mà chúng có thể hữu ích.
Hiện tại, chỉ có các phương thức B-Tree và Gist Chỉ số Multicolumn. Tối đa 32 trường có thể được chỉ định theo mặc định. (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ợ chỉ soi kèo bóng đá truoctran duy nhất.
ANLớp toán tửcó thể được chỉ định cho mỗi cột của một chỉ soi kèo bóng đá truoctran. Lớp toán tử xác định Các toán tử sẽ được sử dụng bởi chỉ soi kèo bóng đá truoctran cho cột đó. Ví dụ, a Chỉ soi kèo bóng đá truoctran B-Tree trên số nguyên bốn byte sẽ sử dụngINT4_OPSlớp; Lớp toán tử này bao gồm Các chức năng so sánh cho 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à hợp 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 đặt hàng. Ví dụ: chúng tôi có thể muốn sắp xếp một số phức tạp Kiểu dữ liệu theo giá trị tuyệt đối hoặc 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ỉ soi kèo bóng đá truoctran. Thêm thông tin Giới thiệu về các lớp toán tử đang ởPhần 11.8và trongPhần 33.14.
Sử dụngDrop Indexđến Xóa một chỉ soi kèo bóng đá truoctran.
Chỉ soi kèo bóng đá truoctran không được sử dụng cholà nullmệnh đề theo mặc định. Cách tốt nhất để sử dụng các chỉ soi kèo bóng đá truoctran trong các trường hợp như vậy là Để tạo một chỉ soi kèo bóng đá truoctran một phần bằng cách sử dụngIS VÔ GIÁ TRỊvị ngữ.
Phát hành trướcPOSTGRESQLcũng có phương thức chỉ soi kèo bóng đá truoctran r-cây. Phương pháp này đã bị xóa Bởi 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ỉ soi kèo bóng đá truoctransẽ giải thích nó làSử dụng gist, để đơn giản hóa việc chuyển đổi cũ cơ sở dữ liệu cho gist.
Để tạo chỉ soi kèo bóng đá truoctran B-cây trên cộtTiêu đềtrong bảngPhim:
25394_25445
Để tạo một chỉ soi kèo bóng đá truoctran trên biểu thứcthấp hơn (tiêu đề), cho phép sự nhạy cảm của trường hợp hiệu quả Tìm kiếm:
Tạo chỉ soi kèo bóng đá truoctran Lower_Title_idx trên phim ((thấp hơn (Tiêu đề)));
Để tạo một chỉ soi kèo bóng đá truoctran với hệ số điền không mặc định:
Tạo chỉ soi kèo bóng đá truoctran độc đáo Title_idx trên phim (Tiêu đề) với (fillfactor = 70);
Để tạo một chỉ soi kèo bóng đá truoctran trên cộtCodeTrong bảngPhimvà có chỉ soi kèo bóng đá truoctran cư trú trong không gian bảngIndexSpace:
Tạo index code_idx trên films (mã) không gian bảng chỉ soi kèo bóng đá truoctran;
26155_26218
Tạo chỉ soi kèo bóng đá truoctran đồng thời sales_quantity_index trên sales_table (số lượng);
Tạo chỉ soi kèo bóng đá truoctranlà APostgreSQLMở rộng ngôn ngữ. Không có Quy định cho các chỉ soi kèo bóng đá truoctran trong tiêu chuẩn SQL.
Prev | Trang chủ | 27318_27324 |
soi kèo bóng đá truoctran nhóm | UP | soi kèo bóng đá truoctran NGÔN NGỮ |