Teradata - THAM GIA các chiến lược
Chương này thảo luận về các chiến lược THAM GIA khác nhau có sẵn trong Teradata.
Tham gia các phương pháp
Teradata sử dụng các phương pháp nối khác nhau để thực hiện các thao tác nối. Một số phương pháp nối thường được sử dụng là:
- Hợp nhất Tham gia
- Tham gia lồng nhau
- Tham gia sản phẩm
Hợp nhất Tham gia
Phương thức kết hợp kết hợp diễn ra khi phép nối dựa trên điều kiện bình đẳng. Hợp nhất Tham gia yêu cầu các hàng kết hợp trên cùng một AMP. Các hàng được nối với nhau dựa trên băm hàng của chúng. Kết hợp Tham gia sử dụng các chiến lược kết hợp khác nhau để đưa các hàng về cùng một AMP.
Chiến lược số 1
Nếu các cột nối là chỉ mục chính của các bảng tương ứng, thì các hàng nối đã nằm trên cùng một AMP. Trong trường hợp này, không cần phân phối.
Hãy xem xét các Bảng Nhân viên và Lương sau đây.
CREATE SET TABLE EMPLOYEE,FALLBACK (
EmployeeNo INTEGER,
FirstName VARCHAR(30) ,
LastName VARCHAR(30) ,
DOB DATE FORMAT 'YYYY-MM-DD',
JoinedDate DATE FORMAT 'YYYY-MM-DD',
DepartmentNo BYTEINT
)
UNIQUE PRIMARY INDEX ( EmployeeNo );
CREATE SET TABLE Salary (
EmployeeNo INTEGER,
Gross INTEGER,
Deduction INTEGER,
NetPay INTEGER
)
UNIQUE PRIMARY INDEX(EmployeeNo);
Khi hai bảng này được kết hợp trên cột EmployeeNo, thì không có sự phân phối lại nào diễn ra vì EmployeeNo là chỉ mục chính của cả hai bảng đang được nối.
Chiến lược số 2
Hãy xem xét các bảng Nhân viên và Bộ phận sau đây.
CREATE SET TABLE EMPLOYEE,FALLBACK (
EmployeeNo INTEGER,
FirstName VARCHAR(30) ,
LastName VARCHAR(30) ,
DOB DATE FORMAT 'YYYY-MM-DD',
JoinedDate DATE FORMAT 'YYYY-MM-DD',
DepartmentNo BYTEINT
)
UNIQUE PRIMARY INDEX ( EmployeeNo );
CREATE SET TABLE DEPARTMENT,FALLBACK (
DepartmentNo BYTEINT,
DepartmentName CHAR(15)
)
UNIQUE PRIMARY INDEX ( DepartmentNo );
Nếu hai bảng này được kết hợp trên cột DeparmentNo, thì các hàng cần được phân phối lại vì DepartmentNo là chỉ mục chính trong một bảng và không phải chỉ mục chính trong bảng khác. Trong trường hợp này, việc nối các hàng có thể không trên cùng một AMP. Trong trường hợp đó, Teradata có thể phân phối lại bảng nhân viên trên cột DepartmentNo.
Chiến lược số 3
Đối với các bảng Nhân viên và Bộ phận ở trên, Teradata có thể sao chép bảng Bộ phận trên tất cả các AMP, nếu kích thước của bảng Bộ phận nhỏ.
Tham gia lồng nhau
Tham gia lồng nhau không sử dụng tất cả các AMP. Để Nối lồng nhau diễn ra, một trong những điều kiện phải là bằng nhau về chỉ mục chính duy nhất của một bảng và sau đó nối cột này với bất kỳ chỉ mục nào trên bảng khác.
Trong trường hợp này, hệ thống sẽ tìm nạp một hàng bằng cách sử dụng chỉ mục Chính duy nhất của một bảng và sử dụng hàm băm của hàng đó để tìm nạp các bản ghi phù hợp từ bảng khác. Phép nối lồng nhau là phương thức hiệu quả nhất trong số tất cả các phương thức Nối.
Tham gia sản phẩm
Tham gia sản phẩm so sánh từng hàng đủ điều kiện từ một bảng với mỗi hàng đủ điều kiện từ bảng khác. Tham gia sản phẩm có thể diễn ra do một số yếu tố sau:
- Nơi thiếu điều kiện.
- Điều kiện tham gia không dựa trên điều kiện bình đẳng.
- Bí danh bảng không đúng.
- Nhiều điều kiện tham gia.