Postgresql 8.1.23 Tài liệu | ||||
---|---|---|---|---|
prev | Backward nhanh | Chương 34. Hệ thống tỷ lệ kèo bóng đá | Chuyển tiếp nhanh | NEXT |
Nhiều điều có thể được thực hiện bằng cách sử dụng các trình tỷ lệ kèo bóng đá cũng có thể được triển khai bằng cách sử dụngPostgreSQLHệ thống tỷ lệ kèo bóng đá. Một trong những điều không thể được thực hiện bởi Các tỷ lệ kèo bóng đá là một số loại hạn chế, đặc biệt là khóa nước ngoài. Nó có thể đặt một tỷ lệ kèo bóng đá đủ điều kiện viết lại lệnh thànhKhông có gìNếu giá trị của cột không không xuất hiện trong một bảng khác. Nhưng sau đó dữ liệu được ném âm thầm Away và đó không phải là một ý kiến hay. Nếu kiểm tra các giá trị hợp lệ là bắt buộc và trong trường hợp giá trị không hợp lệ, một thông báo lỗi nên được tạo, nó phải được thực hiện bằng một tỷ lệ kèo bóng đá.
Mặt khác, một tỷ lệ kèo bóng đá được bắn trênChèntrên một chế độ xem có thể làm giống như một tỷ lệ kèo bóng đá: đặt Dữ liệu ở một nơi khác và triệt tiêu phần chèn trong chế độ xem. Nhưng nó không thể làm điều tương tự trênCập nhậthoặcXóa, vì không có dữ liệu thực trong quan điểm quan điểm có thể được quét, và do đó là kích hoạt sẽ không bao giờ được gọi. Chỉ có một tỷ lệ kèo bóng đá sẽ giúp.
12057_12603
Ở đây chúng tôi đưa ra một ví dụ về cách lựa chọn các tỷ lệ kèo bóng đá so với Trình kích hoạt diễn ra trong một tình huống. Có hai bảng:
Tạo máy tính bảng ( Textname HostN, - được lập chỉ mục văn bản nhà sản xuất - được lập chỉ mục ); Tạo phần mềm bảng ( Văn bản phần mềm, - được lập chỉ mục Tên máy chủ - được lập chỉ mục );
Cả hai bảng đều có hàng ngàn hàng và các chỉ mục trêntên máy chủlà duy nhất. tỷ lệ kèo bóng đá hoặc Trình kích hoạt nên thực hiện một ràng buộc xóa các hàng khỏiPhần mềmTài liệu tham khảo đã bị xóa máy tính. Trình tỷ lệ kèo bóng đá sẽ sử dụng lệnh này:
Xóa khỏi phần mềm WHERE hostName = $ 1;
Vì bộ tỷ lệ kèo bóng đá được gọi cho mỗi hàng riêng lẻ bị xóa từmáy tính, nó có thể chuẩn bị và lưu kế hoạch cho lệnh này và vượt quatên máy chủGiá trị trong tham số. tỷ lệ kèo bóng đá sẽ được viết là
Tạo tỷ lệ kèo bóng đá máy tính_del như đang xóa vào máy tính Xóa khỏi phần mềm trong đó hostName = old.hostName;
Bây giờ chúng ta xem xét các loại xóa khác nhau. Trong trường hợp của Một
Xóa khỏi máy tính trong đó hostname = 'mypc.local.net';
BảngMáy tínhđược quét bởi chỉ mục (nhanh) và lệnh do kích hoạt ban hành cũng sẽ Sử dụng quét chỉ mục (cũng nhanh). Lệnh bổ sung từ tỷ lệ kèo bóng đá sẽ là
Xóa khỏi phần mềm trong đó máy tính.hostname = 'mypc.local.net' Và phần mềm.hostname = máy tính.hostName;
14342_14422
Nestloop - Quét chỉ mục bằng comp_hostidx trên máy tính - SCAN INDEX bằng Soft_Hostidx trên phần mềm
Vì vậy, sẽ không có nhiều sự khác biệt về tốc độ giữa Trình kích hoạt và thực hiện tỷ lệ kèo bóng đá.
tỷ lệ kèo bóng đá xóa tiếp theo, chúng tôi muốn loại bỏ tất cả năm 2000 máy tính trong đótên máy chủBắt đầu tỷ lệ kèo bóng đácũ. Có hai có thể lệnh để làm điều đó. Một là
Xóa khỏi máy tính trong đó tên máy chủ = 'cũ' Và tên máy chủ <'ole'
15049_15088
Xóa khỏi phần mềm trong đó máy tính. Và phần mềm.hostname = máy tính.hostName;
tỷ lệ kèo bóng đá kế hoạch
băm tham gia - SEQ Scan trên phần mềm - Hash - SCAN INDEX bằng comp_hostidx trên máy tính
Lệnh có thể khác là
Xóa khỏi máy tính trong đó tên máy chủ ~ '^cũ';
kết quả trong kế hoạch thực hiện sau đây cho lệnh được thêm bởi tỷ lệ kèo bóng đá:
Nestloop - Quét chỉ mục bằng comp_hostidx trên máy tính - SCAN INDEX bằng Soft_Hostidx trên phần mềm
Điều này cho thấy rằng người lập kế hoạch không nhận ra rằng Trình độ chuyên môn chotên máy chủinMáy tínhcũng có thể được sử dụng cho một chỉ mục quét trênPhần mềmKhi có nhiều Biểu thức đủ điều kiện kết hợp tỷ lệ kèo bóng đávà, đó là những gì nó làm trong Phiên bản biểu thức thường xuyên của lệnh. tỷ lệ kèo bóng đá sẽ nhận được được gọi một lần cho mỗi trong số những máy tính cũ 2000 phải đã xóa và điều đó sẽ dẫn đến một chỉ mục quét quamáy tínhvà 2000 chỉ số quét quaPhần mềm. Việc thực hiện tỷ lệ kèo bóng đá sẽ làm điều đó với Hai lệnh sử dụng chỉ mục. Và nó phụ thuộc vào kích thước tổng thể của bảngPhần mềmCho dù tỷ lệ kèo bóng đá sẽ vẫn nhanh hơn trong tình huống quét tuần tự. 2000 Các lệnh thực thi lệnh từ trình kích hoạt trên Trình quản lý SPI thực hiện một thời gian, ngay cả khi tất cả các khối chỉ mục sẽ sớm ở trong bộ đệm.
Lệnh cuối cùng chúng ta xem là
Xóa khỏi máy tính trong đó nhà sản xuất = 'bim';
Một lần nữa điều này có thể dẫn đến nhiều hàng bị xóa khỏiMáy tính17068_17183
Xóa khỏi phần mềm trong đó máy tính. Và phần mềm.hostname = máy tính.hostName;
Kế hoạch cho lệnh đó sẽ lại là vòng lặp lồng nhau Hai lần quét chỉ mục, chỉ sử dụng một chỉ mục khác trênMáy tính:
Nestloop - Quét chỉ mục bằng comp_manufidx trên máy tính - SCAN INDEX bằng Soft_Hostidx trên phần mềm
Trong bất kỳ trường hợp nào, các lệnh bổ sung từ hệ thống tỷ lệ kèo bóng đá sẽ độc lập nhiều hơn hoặc ít hơn với số lượng các hàng bị ảnh hưởng trong một lệnh.
Tóm tắt là, các tỷ lệ kèo bóng đá sẽ chỉ chậm hơn đáng kể so với kích hoạt nếu hành động của họ dẫn đến đủ điều kiện lớn và kém tham gia, một tình huống mà người lập kế hoạch thất bại.