Me encuentro con esto en sqlx docs:
En la mayoría de las bases de datos, las declaraciones se prepararán en segundo plano cada vez que se ejecute una consulta. Sin embargo, también puede preparar declaraciones explícitamente para reutilizarlas en otro lugar con sqlx.DB.Prepare():
Aunque no puedo encontrar pruebas de que las bases de datos realmente preparen cada consulta. Entonces, ¿es cierto, debo usar preparar manualmente?
MySQL y PostgreSQL definitivamente no preparan todas las consultas. Puede ejecutar consultas directamente, sin hacer una secuencia de preparación y ejecución.
El código Go en el controlador sqlx probablemente hace esto, pero es electivo, hecho para simplificar el código de la interfaz Go cuando pasa argumentos.
No necesita usar la función Prepare() manualmente, a menos que desee reutilizar la consulta preparada, ejecutándola varias veces con diferentes argumentos.