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

Tạo tỷ lệ kèo bóng đá kê

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

Synopsis

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_NameTạ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

Mô tả

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 đồ.

tham số

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àMCVcho 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.2Phầ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.

Ghi chú

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.

Ví dụ

Tạo bảngT1Vớ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ảngT2Vớ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ảngT3Vớ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 haiWHERENhó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.

Tương thích

Không cóTạo số liệu tỷ lệ kèo bóng đá kêLệnh 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 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 đá.