pyodbc llama a sp_unprepare después de sp_prepexec. ¿Eso afecta el rendimiento de las consultas parametrizadas?

En continuación de

SqlAlchemy + pymssql. ¿Las consultas parametrizadas sin procesar usarán el mismo plan de ejecución?

Cambié de pymssql a pyodbc e intenté enviar consultas parametrizadas a SQL Server. pyodbc con el controlador de Microsoft hace el truco, pero algo me parece extraño:

declare @p1 int
set @p1=6
exec sp_prepexec @p1 output,N'@P1 nvarchar(6),@P2 bigint,@P3 bigint,@P4 bigint',N'
                SELECT *
                FROM CC_sold
                WHERE id_contract =@P1
                    AND id_tip_cont=@P2
                    AND CC_sold.anul =@P3
                    AND CC_sold.luna =@P4
                ORDER BY CC_sold.anul, CC_sold.luna DESC
            ',N'176914',6,2016,9
select @p1
exec sp_unprepare 6

Mis preocupaciones están relacionadas con esta declaración:

exec sp_unprepare 6

Si entiendo bien, esto cancela el plan de ejecución de consultas y no obtendré ninguna optimización de la parametrización de consultas. ¿Es ese el caso?

Respuestas a la pregunta(1)

Su respuesta a la pregunta