执行SELECT语句并插入同一个表的最佳方法是什么?

时间:2010-06-14 12:30:19

标签: sql sql-server-2005

是否有人就如何改进以下陈述提出任何建议:

insert into ProductInfo with (rowlock) (orderid, productname)
      select 66673, FileInfoId
        from ProductInfo with (nolock) where 
          ProductId = 66671 and
          IsEligableForCopy = 1 and 
          ProductFileInfoId >= 2768395941 and 
          ProductFileInfoId < 2768405941

3 个答案:

答案 0 :(得分:1)

听起来它超时是因为它无法获得锁定。您使用的DBMS是什么?你有没有请求锁定你尝试过吗?您提供的示例似乎是一次性插入,但我认为这只是一个示例,而不是您将在生产中运行的内容。

答案 1 :(得分:1)

在产品信息上改进或添加索引......也许它不会超时

答案 2 :(得分:0)

查询看起来很好。它应该运行得很好。有什么具体的想要实现吗?