1
sp_prepexec (sp_execute) กับ sp_executeSQL
เนื้อของคำถาม: เป็นขั้นตอนการจัดเก็บจริงกลไกเดียวที่ดำเนินการแคชตารางชั่วคราวหรือทำขั้นตอนการจัดเก็บระบบเช่นsp_executeSQL/ sp_executeยังใช้ประโยชน์จากพวกเขา? ฉันไม่ใช่ DBA ดังนั้นโปรดใช้คำพูดเล็กน้อย โปรแกรมของเราส่งงบเตรียมมากกว่าว่าจาก Profiler ที่ฉันเห็นเรียกใช้ SQL ทั้งหมดที่ผ่านsp_prepexecซึ่งเป็นขั้นตอนของระบบสำหรับทั้งทำงานและsp_prepare sp_executeสิ่งที่ฉันพยายามทำคือหาว่าฉันได้รับประโยชน์จากการแคชตารางชั่วคราว ฉันใช้คู่มือนี้กับ object_id () เพื่อตรวจสอบพฤติกรรม https://sqlkiwi.blogspot.com/2012/08/temporary-tables-in-stored-procedures.html แล้วชี้ # 3 โพสต์บล็อกนี้แสดงให้เห็นว่า EXEC ไม่สามารถใช้แคชตาราง temp แต่ใบออกว่า sp_executesql สามารถ: http://blogs.msdn.com/b/turgays/archive/2013/09/18/exec-vs- SP-executesql.aspx ในแบบสอบถามของฉันส่งผ่านทางลูกค้าฉันได้สร้างตารางชั่วคราว DECLARE @foo int; -- set by JDBC, unused but required to force a prepared statement SELECT 1 AS id INTO …