2013-10-17 20 views
5

Tính năng Redshift có hiệu quả (tức là tìm kiếm nhị phân) tìm khối của bảng được sắp xếp trên cột A cho truy vấn có điều kiện A =? Ví dụ, hãy để có một bảng T với ~ 500m hàng, ~ 50 trường, phân phối và sắp xếp trên trường A. Trường A có số lượng thẻ cao - vì vậy có ~ 4,5 m giá trị A khác nhau, với chính xác như nhau số hàng trong T: ~ 100 hàng cho mỗi giá trị.
Giả sử một cụm chuyển đổi màu đỏ với một nút XL đơn.
Trường A không được nén. Tất cả các trường khác có nén một số biểu mẫu, như được đề xuất bởi ANALYZE COMPRESSION. Tỷ lệ 1:20 được so sánh với một bảng không nén.Amazon Redshift Hiệu suất lọc bình đẳng và các phím sắp xếp

Cho một truy vấn tầm thường:

select avg(B),avg(C) from 
(select B,C from T where A = <val>) 

Sau CHÂN và phân tích kế hoạch sau giải thích được đưa ra:

XN Aggregate (cost=1.73..1.73 rows=1 width=8) 
-> XN Seq Scan on T (cost=0.00..1.23 rows=99 width=8) 
Filter: (A = <val>::numeric) 

truy vấn này có 39 giây để hoàn thành.
Câu hỏi chính là: Đây có phải là hành vi mong đợi của dịch chuyển đỏ không?

Theo tài liệu tại Choosing the best sortkey:.
"Nếu bạn làm lọc phạm vi thường xuyên hoặc bình đẳng lọc trên một cột, xác định rằng cột là chìa khóa loại chuyển đỏ có thể bỏ qua việc đọc toàn bộ khối dữ liệu cho cột đó bởi vì nó theo dõi tối thiểu và giá trị cột tối đa được lưu trữ trên mỗi khối và có thể bỏ qua khối không áp dụng cho phạm vi ngữ "

trong Choosing sort keys:
". Một tối ưu hóa mà phụ thuộc vào dữ liệu được sắp xếp là việc xử lý hiệu quả các biến vị ngữ hạn chế phạm vi. lưu trữ dữ liệu cột trong khối đĩa 1 MB. Giá trị nhỏ nhất và tối đa cho mỗi khối được lưu trữ như một phần của siêu dữ liệu. Nếu cột bị hạn chế phạm vi là khóa sắp xếp, bộ xử lý truy vấn có thể sử dụng các giá trị tối thiểu và tối đa để bỏ qua nhanh chóng số lượng lớn các khối trong quá trình quét bảng. Ví dụ: nếu bảng lưu trữ năm năm dữ liệu được sắp xếp theo ngày và truy vấn chỉ định phạm vi ngày trong một tháng, thì có thể loại bỏ tối đa 98% khối đĩa khỏi quá trình quét. Nếu dữ liệu không được sắp xếp, nhiều khối đĩa (có thể là tất cả chúng) phải được quét. Để biết thêm thông tin về các tối ưu hóa này, hãy xem Chọn các khóa phân phối. "

câu hỏi phụ:?
sự phức tạp của quá trình quét bỏ qua nói trên vào một phím loại là gì là nó tuyến tính (O (n)) hoặc một số biến thể của tìm kiếm nhị phân (O (logn))
Nếu? một phím được sắp xếp -?? được bỏ qua việc tối ưu hóa chỉ có sẵn
Điều gì sẽ này "bỏ qua" tối ưu hóa cái nhìn như thế nào trong kế hoạch giải thích
Sản phẩm trên giải thích tốt nhất có thể cho truy vấn này
gì là kết quả dịch chuyển đỏ nhanh nhất có thể được dự kiến ​​cung cấp cho kịch bản này?
Vanilla ParAccel có khác biệt không? hành vi trong trường hợp sử dụng này?

Trả lời

Các vấn đề liên quan