Junior — Middle
Quelles méthodes connaissez-vous pour accélérer le processus d'extraction des données de la base de données?
sobes.tech IA
Réponse de l'IA
Pour accélérer l’extraction des données de la base de données en Python, plusieurs méthodes peuvent être utilisées :
- Optimisation des requêtes : n’utiliser que les champs nécessaires, éviter les jointures redondantes, appliquer des filtres au niveau de la requête.
- Index dans la base de données : s’assurer que les champs fréquemment utilisés ont des index créés.
- Utilisation d’un ORM avec chargement paresseux : pour ne pas charger de données inutiles.
- Caching : stocker en mémoire les données fréquemment demandées (par exemple, avec Redis).
- Chargement par lots (batching) : charger les données par portions pour ne pas surcharger la mémoire.
- Requêtes asynchrones : utiliser des bibliothèques comme
asynciopour exécuter des requêtes en parallèle.
Exemple avec utilisation d’index et requête optimisée en SQLAlchemy :
from sqlalchemy import create_engine, select
from models import User
engine = create_engine('postgresql://user:pass@localhost/db')
with engine.connect() as conn:
stmt = select(User.id, User.name).where(User.active == True)
result = conn.execute(stmt)
users = result.fetchall()
Ici, seules les colonnes nécessaires sont sélectionnées et les utilisateurs actifs sont filtrés, ce qui accélère l’extraction.