Teradata - Thống kê

Trình tối ưu hóa Teradata đưa ra chiến lược thực thi cho mọi truy vấn SQL. Chiến lược thực thi này dựa trên thống kê được thu thập trên các bảng được sử dụng trong truy vấn SQL. Thống kê trên bảng được thu thập bằng lệnh COLLECT STATISTICS. Trình tối ưu hóa yêu cầu thông tin môi trường và nhân khẩu học dữ liệu để đưa ra chiến lược thực thi tối ưu.

Thông tin môi trường

  • Số lượng nút, AMP và CPU
  • Dung lượng bộ nhớ

Nhân khẩu học Dữ liệu

  • Số hàng
  • Kích thước hàng
  • Phạm vi giá trị trong bảng
  • Số hàng trên mỗi giá trị
  • Số lượng rỗng

Có ba cách tiếp cận để thu thập số liệu thống kê trên bảng.

  • Lấy mẫu AMP ngẫu nhiên
  • Thu thập thống kê đầy đủ
  • Sử dụng tùy chọn SAMPLE

Thu thập thống kê

Lệnh COLLECT STATISTICS được sử dụng để thu thập số liệu thống kê trên một bảng.

Cú pháp

Sau đây là cú pháp cơ bản để thu thập số liệu thống kê trên một bảng.

COLLECT [SUMMARY] STATISTICS   
INDEX (indexname) COLUMN (columnname) 
ON <tablename>;

Thí dụ

Ví dụ sau đây thu thập số liệu thống kê trên cột EmployeeNo của bảng Employee.

COLLECT STATISTICS COLUMN(EmployeeNo) ON Employee;

Khi truy vấn trên được thực thi, nó tạo ra kết quả sau.

*** Update completed. 2 rows changed. 
*** Total elapsed time was 1 second.

Xem thống kê

Bạn có thể xem các số liệu thống kê được thu thập bằng lệnh HELP STATISTICS.

Cú pháp

Sau đây là cú pháp để xem số liệu thống kê được thu thập.

HELP STATISTICS <tablename>;

Thí dụ

Sau đây là một ví dụ để xem số liệu thống kê được thu thập trên bảng Nhân viên.

HELP STATISTICS employee;

Khi truy vấn trên được thực thi, nó tạo ra kết quả sau.

Date       Time      Unique Values           Column Names 
--------   -------- -------------------- ----------------------- 
16/01/01   08:07:04         5                       * 
16/01/01   07:24:16         3                   DepartmentNo 
16/01/01   08:07:04         5                   EmployeeNo