sql >> Base de Datos >  >> RDS >> Mysql

¿Por qué la ejecución es lenta en Python MySQLdb?

Intente poner en minúsculas la palabra 'valores' en su consulta; esto parece ser un error/regresión en MySQL-python 1.2.3.

La implementación de MySQL-python de executemany() hace coincidir la cláusula VALUES con una expresión regular y luego simplemente clona la lista de valores para cada fila de datos, por lo que termina ejecutando exactamente la misma consulta que con su primer enfoque.

Desafortunadamente, la expresión regular perdió su marca que no distingue entre mayúsculas y minúsculas en esa versión (posteriormente corregida en el tronco r622 pero nunca se retroportó a la rama 1.2), por lo que se degrada para iterar sobre los datos y disparar una consulta por fila.