Thay vì lấy một triệu hàng từ cơ sở dữ liệu và thực hiện phép tính bằng Python, hãy cung cấp từ điển của bạn cho cơ sở dữ liệu và yêu cầu cơ sở dữ liệu thực hiện phép tính và gửi lại kết quả cho bạn.
Bạn có thể thực hiện việc này bằng cách thực hiện một truy vấn tương tự như sau:
SELECT SUM(price * exchange_rate) AS total
FROM sales
LEFT JOIN
(
SELECT 'USD' AS currency, 1.00000 AS exchange_rate
UNION ALL
SELECT 'EUR', 1.32875
UNION ALL
SELECT 'GBP', 1.56718
-- ...
) AS exchange
ON exchange.currency = sales.currency