2014-11-13 18 views
5

Tôi đang sử dụng chức năng json_extract_path_text để trích xuất các giá trị từ JSON. Khi dữ liệu hàng tăng, truy vấn mất nhiều thời gian để chạy và không thành công trong một thời gian.Cách tăng tốc truy vấn Redshift

Có cách nào để giảm thời gian thực hiện truy vấn hoặc cải thiện chức năng josn_extract_path_text

+0

bạn có thể thêm ví dụ không? nói chung tất cả các thao tác văn bản làm cho các truy vấn chạy lâu hơn - nhưng nhìn thấy truy vấn có thể giúp – alexanderlz

Trả lời

1

Giải pháp là: lưu trữ dữ liệu của bạn trong định dạng bảng thay vì JSON. JSON không phải là một lựa chọn tốt để lưu trữ các tập dữ liệu lớn hơn bởi vì, bằng cách lưu trữ dữ liệu khác nhau trong một cột, JSON không tận dụng kiến ​​trúc lưu trữ cột của Amazon Redshift. Hoặc cách khác thay đổi loại nút của bạn thành loại lớn hơn.

-1

Redshift là một cửa hàng cột, lưu trữ dữ liệu ở định dạng JSON sẽ không tăng tốc truy vấn trên đó. Điều này sẽ làm việc trên một mô hình tài liệu NOSQL cơ sở dữ liệu, nhưng không phải trên RedShift. Để làm cho truy vấn RedShift hiệu quả, kiểu phân phối (ngay cả đối với kịch bản mà dữ liệu không tuân theo thứ tự speicifc hoặc là ngẫu nhiên) của các bảng là quan trọng, dựa trên số cụm bạn có. Ngoài ra, khóa phân phối trên cột khóa chính (trong một mô hình RDBMS khác), và phím sắp xếp trên cùng sẽ giúp bạn trong tham gia (nó sẽ sử dụng tham gia phân loại hợp nhất thay vì Hash tham gia dài hơn).

Để biết thêm chi tiết về điều này, hãy xem tài liệu. RTFM là bạn của bạn ở đây.

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