Anstatt eine Million Zeilen aus der Datenbank zu holen und die Berechnung in Python durchzuführen, geben Sie Ihr Wörterbuch an die Datenbank und lassen Sie die Datenbank die Berechnung durchführen und Ihnen das Ergebnis zurücksenden.
Sie können dies tun, indem Sie eine Abfrage ähnlich der folgenden durchführen:
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