Tạo số liệu tỷ lệ kèo bóng đá kê - Xác định số liệu tỷ lệ kèo bóng đá kê mở rộng
Tạo số liệu tỷ lệ kèo bóng đá kê [[nếu không tồn tại]tỷ lệ kèo bóng đá_name
] TRÊN (expression
) TỪTable_Name
Tạo số liệu tỷ lệ kèo bóng đá kê [[nếu không tồn tại]tỷ lệ kèo bóng đá_name
] [(tỷ lệ kèo bóng đá_kind
[, ...])]]] TRÊNCột_name
| (Biểu thức
),Cột_name
| (Biểu thức
) [, ...] TỪTable_Name
Tạo tỷ lệ kèo bóng đá kê
sẽ tạo một dữ liệu theo dõi đối tượng tỷ lệ kèo bóng đá kê mở rộng mới về bảng được chỉ định, bảng nước ngoài hoặc chế độ xem được vật chất hóa. Đối tượng tỷ lệ kèo bóng đá kê sẽ được tạo trong cơ sở dữ liệu hiện tại và sẽ được sở hữu bởi người dùng phát hành lệnh.
TheTạo số liệu tỷ lệ kèo bóng đá kê
Lệnh có hai hình thức cơ bản. Mẫu đầu tiên cho phép thu thập số liệu tỷ lệ kèo bóng đá kê đơn biến cho một biểu thức duy nhất, cung cấp các lợi ích tương tự như một chỉ số biểu thức mà không có chi phí bảo trì chỉ số. Hình thức này không cho phép loại tỷ lệ kèo bóng đá kê được chỉ định, vì các loại tỷ lệ kèo bóng đá kê khác nhau chỉ đề cập đến số liệu tỷ lệ kèo bóng đá kê đa biến. Hình thức thứ hai của lệnh cho phép các số liệu tỷ lệ kèo bóng đá kê đa biến trên nhiều cột và/hoặc các biểu thức được thu thập, tùy chọn chỉ định các loại tỷ lệ kèo bóng đá kê nào sẽ bao gồm. Biểu mẫu này cũng sẽ tự động khiến số liệu tỷ lệ kèo bóng đá kê đơn biến được thu thập trên bất kỳ biểu thức nào có trong danh sách.
Nếu một tên lược đồ được đưa ra (ví dụ:Tạo số liệu tỷ lệ kèo bóng đá kê myschema.mystat ...
) Sau đó, đối tượng tỷ lệ kèo bóng đá kê được tạo trong lược đồ được chỉ định. Nếu không, nó được tạo ra trong lược đồ hiện tại. Nếu được đưa ra, tên của đối tượng tỷ lệ kèo bóng đá kê phải khác biệt với tên của bất kỳ đối tượng tỷ lệ kèo bóng đá kê nào khác trong cùng một lược đồ.
Nếu không tồn tại
Không ném lỗi nếu một đối tượng tỷ lệ kèo bóng đá kê 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 chỉ tên của đối tượng tỷ lệ kèo bóng đá kê được xem xét ở đây, không phải chi tiết về định nghĩa của nó. Tên tỷ lệ kèo bóng đá kê được yêu cầu khiNếu không tồn tại
được chỉ định.
tỷ lệ kèo bóng đá_name
Tên (tùy chọn Lược đồ theo trình độ) của đối tượng tỷ lệ kèo bóng đá kê sẽ được tạo. 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 xác định
tỷ lệ kèo bóng đá_kind
Một loại tỷ lệ kèo bóng đá kê đa biến được tính toán trong đối tượng tỷ lệ kèo bóng đá kê này. Các loại hiện được hỗ trợ làndistince
, cho phép các số liệu tỷ lệ kèo bóng đá kê từ n,phụ thuộc
, cho phép tỷ lệ kèo bóng đá kê phụ thuộc chức năng vàMCV
cho phép danh sách giá trị phổ biến nhất. Nếu điều khoản này bị bỏ qua, tất cả các loại tỷ lệ kèo bóng đá kê được hỗ trợ được bao gồm trong đối tượng tỷ lệ kèo bóng đá kê. tỷ lệ kèo bóng đá kê biểu thức đơn biến được xây dựng tự động nếu định nghĩa tỷ lệ kèo bóng đá kê bao gồm bất kỳ biểu thức phức tạp nào thay vì chỉ các tham chiếu cột đơn giản. Để biết thêm thông tin, xemPhần 14.2.2vàPhần 76.2.
Cột_name
Tên của cột bảng được bao phủ bởi các số liệu tỷ lệ kèo bóng đá kê được tính toán. Điều này chỉ được phép khi xây dựng số liệu tỷ lệ kèo bóng đá kê đa biến. Ít nhất hai tên cột hoặc biểu thức phải được chỉ định và thứ tự của chúng không đáng kể.
Biểu thức
Một biểu thức được bao phủ bởi các số liệu tỷ lệ kèo bóng đá kê được tính toán. Điều này có thể được sử dụng để xây dựng số liệu tỷ lệ kèo bóng đá kê đơn biến trên một biểu thức duy nhất hoặc là một phần của danh sách nhiều tên cột và/hoặc biểu thức để xây dựng số liệu tỷ lệ kèo bóng đá kê đa biến. Trong trường hợp sau, số liệu tỷ lệ kèo bóng đá kê đơn biến riêng biệt được xây dựng tự động cho từng biểu thức trong danh sách.
Table_Name
Tên (tùy chọn Lược đồ theo trình độ) của bảng chứa (các) số tỷ lệ kèo bóng đá kê được tính toán; nhìn thấyPhân tíchĐể giải thích về việc xử lý kế thừa và phân vùng.
Bạn phải là chủ sở hữu của một bảng để tạo một đối tượng tỷ lệ kèo bóng đá kê đọc nó. Tuy nhiên, sau khi được tạo, quyền sở hữu đối tượng tỷ lệ kèo bóng đá kê độc lập với (các) bảng cơ bản.
tỷ lệ kèo bóng đá kê biểu thức là biểu hiện và tương tự như tạo một chỉ mục trên biểu thức, ngoại trừ việc chúng tránh được chi phí bảo trì chỉ mục. tỷ lệ kèo bóng đá kê biểu thức được xây dựng tự động cho từng biểu thức trong định nghĩa đối tượng tỷ lệ kèo bóng đá kê.
Số liệu tỷ lệ kèo bóng đá kê mở rộng hiện không được sử dụng bởi người lập kế hoạch để ước tính chọn lọc thực hiện cho các lần tham gia bảng. Giới hạn này có thể sẽ bị xóa trong phiên bản tương lai củaPostgreSQL.
Tạo bảngT1
Với hai cột phụ thuộc chức năng, tức là, kiến thức về một giá trị trong cột đầu tiên là đủ để xác định giá trị trong cột khác. Sau đó, tỷ lệ kèo bóng đá kê phụ thuộc chức năng được xây dựng trên các cột đó:
Tạo bảng T1 ( một int, b int ); Chèn vào T1 Chọn I/100, I/500 Từ Generate_Series (1.1000000) S (i); Phân tích T1; - Số lượng hàng phù hợp sẽ được đánh giá thấp đáng kể: Giải thích Phân tích Chọn * từ T1 trong đó (a = 1) và (b = 0); Tạo số liệu tỷ lệ kèo bóng đá kê S1 (phụ thuộc) trên A, B từ T1; Phân tích T1; - Bây giờ ước tính số lượng hàng chính xác hơn: Giải thích Phân tích Chọn * từ T1 trong đó (a = 1) và (b = 0);
Không có tỷ lệ kèo bóng đá kê phụ thuộc chức năng, người lập kế hoạch sẽ cho rằng haiWHERE
Điều kiện là độc lập và sẽ nhân số chọn lọc của chúng với nhau để đạt được ước tính số lượng hàng quá nhỏ. Với số liệu tỷ lệ kèo bóng đá kê như vậy, người lập kế hoạch nhận ra rằngWHERE
Điều kiện là dự phòng và không đánh giá thấp số lượng hàng.
Tạo bảngT2
Với hai cột tương quan hoàn hảo (chứa dữ tỷ lệ kèo bóng đá giống hệt nhau) và danh sách MCV trên các cột đó:
Tạo bảng T2 ( một int, b int ); Chèn vào T2 Chọn Mod (I, 100), Mod (I, 100) Từ Generate_Series (1.1000000) S (i); Tạo số liệu tỷ lệ kèo bóng đá kê S2 (MCV) trên A, B từ T2; Phân tích T2; - Kết hợp hợp lệ (tìm thấy trong MCV) Giải thích Phân tích Chọn * từ T2 trong đó (a = 1) và (b = 1); - Kết hợp không hợp lệ (không tìm thấy trong MCV) Giải thích Phân tích Chọn * từ T2 trong đó (a = 1) và (b = 2);
Danh sách MCV cung cấp cho người lập kế hoạch thông tin chi tiết hơn về các giá trị cụ thể thường xuất hiện trong bảng, cũng như giới hạn trên về sự chọn lọc của các kết hợp các giá trị không xuất hiện trong bảng, cho phép nó tạo ra các ước tính tốt hơn trong cả hai trường hợp.
Tạo bảngT3
Với một cột dấu thời gian duy nhất và chạy truy vấn sử dụng các biểu thức trên cột đó. Không có số liệu tỷ lệ kèo bóng đá kê mở rộng, người lập kế hoạch không có thông tin về phân phối dữ liệu cho các biểu thức và sử dụng các ước tính mặc định. Người lập kế hoạch cũng không nhận ra rằng giá trị của ngày bị cắt giảm trong tháng được xác định đầy đủ bởi giá trị của ngày bị cắt ngắn cho đến ngày. Sau đó, biểu thức và số liệu tỷ lệ kèo bóng đá kê ndistince được xây dựng trên hai biểu thức đó:
Tạo bảng T3 ( một dấu thời gian ); Chèn vào T3 Chọn I từ Generate_Series ('2020-01-01' :: Timestamp, '2020-12-31' :: Dấu thời gian, '1 phút' :: khoảng thời gian) s (i); Phân tích T3; - Số lượng hàng phù hợp sẽ được đánh giá thấp đáng kể: Giải thích Phân tích Chọn * từ T3 Trong đó date_trunc ('tháng', a) = '2020-01-01' :: dấu thời gian; Giải thích Phân tích Chọn * từ T3 WHERE DATE_TRUNC ('Ngày', A) trong khoảng thời gian '2020-01-01' :: Timestamp Và '2020-06-30' :: Dấu thời gian; Giải thích Phân tích chọn DATE_TRUNC ('Tháng', A), DATE_TRUNC ('Ngày', A) Từ nhóm T3 bằng 1, 2; -Xây dựng số liệu tỷ lệ kèo bóng đá kê ndistince trên cặp biểu thức (biểu hiện theo biểu thức - tỷ lệ kèo bóng đá kê được xây dựng tự động) Tạo số liệu tỷ lệ kèo bóng đá kê s3 (ndistince) trên date_trunc ('tháng', a), date_trunc ('day', a) từ t3; Phân tích T3; - Bây giờ các ước tính số lượng hàng chính xác hơn: Giải thích Phân tích Chọn * từ T3 Trong đó date_trunc ('tháng', a) = '2020-01-01' :: dấu thời gian; Giải thích Phân tích Chọn * từ T3 WHERE DATE_TRUNC ('Ngày', A) trong khoảng thời gian '2020-01-01' :: Timestamp Và '2020-06-30' :: Dấu thời gian; Giải thích Phân tích chọn DATE_TRUNC ('Tháng', A), DATE_TRUNC ('Ngày', A) Từ nhóm t3 bởi 1, 2;
Không có biểu thức và tỷ lệ kèo bóng đá kê ndistince, người lập kế hoạch không có thông tin về số lượng các giá trị riêng biệt cho các biểu thức và phải dựa vào các ước tính mặc định. Các điều kiện bình đẳng và phạm vi được giả định là có độ chọn lọc 0,5% và số lượng các giá trị riêng biệt trong biểu thức được coi là giống như đối với cột (nghĩa là duy nhất). Điều này dẫn đến một sự đánh giá thấp đáng kể về số lượng hàng trong hai truy vấn đầu tiên. Hơn nữa, người lập kế hoạch không có thông tin về mối quan hệ giữa các biểu thức, vì vậy nó giả định haiWHERE
vàNhóm bởi
Điều kiện là độc lập và nhân số tính chọn lọc của chúng với nhau để đến mức đánh giá quá cao của số lượng nhóm trong truy vấn tổng hợp. Điều này càng trở nên trầm trọng hơn do thiếu tỷ lệ kèo bóng đá kê chính xác cho các biểu thức, buộc người lập kế hoạch phải sử dụng ước tính ndistince mặc định cho biểu thức xuất phát từ ndistince cho cột. Với số liệu tỷ lệ kèo bóng đá kê như vậy, người lập kế hoạch nhận ra rằng các điều kiện có tương quan và đạt được ước tính chính xác hơn nhiều.
Không cóTạo số liệu tỷ lệ kèo bóng đá kê
Lệnh trong tiêu chuẩn SQL.
Nếu bạn thấy bất cứ điều gì trong tài tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá.