MagicStack / MagicStack/asyncpg
Difference between bulk update with FROM VALUES and without it?
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 8.1k
- Forks
- 468
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
await conn.executemany(
"""
UPDATE user SET login=$2, name=$3, age=$4, sex=$5
WHERE id=$1
""",
users,
)
await conn.executemany(
"""
UPDATE user SET login=actual_user.login, name=actual_user.name, age=actual_user.age, sex=actual_user.sex
FROM (VALUES ($1, $2, $3, $4, $5)) AS actual_user (id, login, name, age::integer, sex::integer)
WHERE user.id=actual_user.id
""",
users,
)
The first is cleaner. But I worry about performance. I know the second is performed as one request. But the first is the same?
Is there any reason to use the second way?
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con el punto de entrada de executemany de asyncpg y la semántica de UPDATE ... FROM VALUES de PostgreSQL, comparando tanto los ejemplos de SQL como el comportamiento de sus solicitudes. El trabajo estaría terminado con una explicación claramente documentada de si los enfoques difieren en rendimiento o propósito, y de cuándo resulta útil la segunda forma.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- postgresql, python
- Área
- databases
- Tipo de issue
- Documentación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 35/100