pyodbc ruft sp_unprepare nach sp_prepexec auf. Beeinträchtigt dies die Leistung parametrisierter Abfragen?

In Fortsetzung von

SqlAlchemy + pymssql. Verwenden parametrisierte Raw-Abfragen denselben Ausführungsplan?

Ich habe von pymssql zu pyodbc gewechselt und versucht, parametrisierte Abfragen an SQL Server zu senden. pyodbc mit Microsoft-Treiber macht den Trick, aber mir kommt etwas komisch vor:

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

Meine Sorgen beziehen sich auf diese Aussage:

exec sp_unprepare 6

Wenn ich richtig verstehe, wird der Ausführungsplan für Abfragen abgebrochen und die Abfrageparameter werden nicht optimiert. Ist das der Fall?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage