devto 2026-09-30 원문 보기 ↗
Insertar registros en un bucle for es el error de rendimiento número uno en SQLite. insert_many de wsqlite agrupa miles de registros en una sola transacción atómica multiplicando la velocidad por 10.
Así se implementa Bulk Insert & Batch Operations en entornos reales con wsqlite:
from pydantic import BaseModel
from wsqlite import WSQLite
class Metric(BaseModel):
id: int
sensor_id: str
reading: float
db = WSQLite(Metric, "telemetry.db")
# Prepare a large batch of 5,000 metrics
batch = [
Metric(id=i, sensor_id=f"sensor_{i % 10}", reading=20.5 + (i * 0.1))
for i in range(1, 5001)
]
# Insert all 5,000 in a single atomic transaction
db.insert_many(batch)
print(f"Total metrics inserted: {db.count()}")
¡Visita el repositorio en GitHub!