1. <i id='GEMxG'><tr id='GEMxG'><dt id='GEMxG'><q id='GEMxG'><span id='GEMxG'><b id='GEMxG'><form id='GEMxG'><ins id='GEMxG'></ins><ul id='GEMxG'></ul><sub id='GEMxG'></sub></form><legend id='GEMxG'></legend><bdo id='GEMxG'><pre id='GEMxG'><center id='GEMxG'></center></pre></bdo></b><th id='GEMxG'></th></span></q></dt></tr></i><div id='GEMxG'><tfoot id='GEMxG'></tfoot><dl id='GEMxG'><fieldset id='GEMxG'></fieldset></dl></div>

      <small id='GEMxG'></small><noframes id='GEMxG'>

        <legend id='GEMxG'><style id='GEMxG'><dir id='GEMxG'><q id='GEMxG'></q></dir></style></legend>

        <tfoot id='GEMxG'></tfoot>
        • <bdo id='GEMxG'></bdo><ul id='GEMxG'></ul>
      1. 表变量在 SQL Server 存储过程中插入时性能不佳

        Table variable poor performance on insert in SQL Server Stored Procedure(表变量在 SQL Server 存储过程中插入时性能不佳)

          <tbody id='dAUNM'></tbody>
        <legend id='dAUNM'><style id='dAUNM'><dir id='dAUNM'><q id='dAUNM'></q></dir></style></legend>
          <bdo id='dAUNM'></bdo><ul id='dAUNM'></ul>
        • <small id='dAUNM'></small><noframes id='dAUNM'>

        • <i id='dAUNM'><tr id='dAUNM'><dt id='dAUNM'><q id='dAUNM'><span id='dAUNM'><b id='dAUNM'><form id='dAUNM'><ins id='dAUNM'></ins><ul id='dAUNM'></ul><sub id='dAUNM'></sub></form><legend id='dAUNM'></legend><bdo id='dAUNM'><pre id='dAUNM'><center id='dAUNM'></center></pre></bdo></b><th id='dAUNM'></th></span></q></dt></tr></i><div id='dAUNM'><tfoot id='dAUNM'></tfoot><dl id='dAUNM'><fieldset id='dAUNM'></fieldset></dl></div>

          <tfoot id='dAUNM'></tfoot>
                1. 本文介绍了表变量在 SQL Server 存储过程中插入时性能不佳的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我们在存储过程中使用表变量时遇到性能问题.

                  We are experiencing performance problems using a table variable in a Stored Procedure.

                  这是实际发生的事情:

                  DECLARE @tblTemp TABLE(iId_company INT)
                  
                  INSERT INTO @tblTemp(iId_company)
                    SELECT id FROM .....
                  

                  SELECT 返回 138 个结果,但插入 TABLE 变量需要 1min15 但是当我使用具有相同 SELECT 的临时表时,woops,需要 0sec :

                  The SELECT returns 138 results, but inserting in the TABLE variable takes 1min15 but when I use a temp table with the same SELECT, woops, takes 0sec :

                  CREATE TABLE #temp (iId_company INT)
                  
                  INSERT INTO #temp(iId_company)
                    SELECT id FROM ...
                  

                  什么可能导致这种行为?

                  What could cause the behavior ?

                  推荐答案

                  使用临时表.您会看到更好的性能.

                  Use a temporary table. You will see much better performance.

                  详细解释这背后的原因超出了最初的范围但要总结的问题:

                  A detailed explanation for the reasoning behind this is beyond the scope of the initial question however to summarise:

                  • 一个表变量被优化为一个行,由 SQL Server 即它假定 1行将被返回.
                  • 未创建表变量统计数据.

                  Google 临时表 Vs.表变量 提供了丰富的资源和讨论.如果您需要特定的帮助,请给我发电子邮件或在 Twitter 上与我联系.

                  Google temp table Vs. table variable for a wealth of resources and discussions. If you then need specific assistance, fire me an email or contact me on Twitter.

                  这篇关于表变量在 SQL Server 存储过程中插入时性能不佳的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Accessing another user#39;s table within an Oracle Stored Procedure(在 Oracle 存储过程中访问另一个用户的表)
                  Maximum stored procedure, function, trigger, or view nesting level exceeded (limit 32)(超出最大存储过程、函数、触发器或视图嵌套级别(限制 32))
                  How to View Oracle Stored Procedure using SQLPlus?(如何使用 SQLPlus 查看 Oracle 存储过程?)
                  How to debug stored procedure in VS 2015?(如何在 VS 2015 中调试存储过程?)
                  How to Pass Java List of Objects to Oracle Stored Procedure Using MyBatis?(如何使用 MyBatis 将 Java 对象列表传递给 Oracle 存储过程?)
                  Set the variable result, from query(设置变量结果,来自查询)
                    <tbody id='GGOl7'></tbody>
                    <bdo id='GGOl7'></bdo><ul id='GGOl7'></ul>
                    <legend id='GGOl7'><style id='GGOl7'><dir id='GGOl7'><q id='GGOl7'></q></dir></style></legend>

                      <tfoot id='GGOl7'></tfoot>
                    1. <i id='GGOl7'><tr id='GGOl7'><dt id='GGOl7'><q id='GGOl7'><span id='GGOl7'><b id='GGOl7'><form id='GGOl7'><ins id='GGOl7'></ins><ul id='GGOl7'></ul><sub id='GGOl7'></sub></form><legend id='GGOl7'></legend><bdo id='GGOl7'><pre id='GGOl7'><center id='GGOl7'></center></pre></bdo></b><th id='GGOl7'></th></span></q></dt></tr></i><div id='GGOl7'><tfoot id='GGOl7'></tfoot><dl id='GGOl7'><fieldset id='GGOl7'></fieldset></dl></div>
                    2. <small id='GGOl7'></small><noframes id='GGOl7'>