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