我现在在做一个小程序,其中我有用到临时表,数据库是远程SqlServer2000,我是这样做的:在程序里用Create table #表1(a char(10)......),然后把从数据库基表中查询出来的记录插入到该临时表中,然后我对这临时表进行一些数据操作,完了候提交,相应的更新基表。但是我查询出来的记录往往有几万条。我觉得这样是否会效率太低??还有,可以用Select ...into ...之类的,是否会好点呢?大家来谈论一下吧,这个临时表我们该如何去建它,及如何合理的使用它。

解决方案 »

  1.   

    建议用Select...into...,因为那个临时表由SQLServer自动维护,我想效率会更高些!
      

  2.   

    cg1120(代码最优化-§新年祝福你,好运伴着你§)说的是指在设计数据库时先设计一个和基表一样的数据表,这个很简单复制一个就可以了不过名子要不相同,然后将查出的数据写入此表中,这样节省了你Create table #表1(a char(10)......)的过程,效率上要好点,不过需注意的问题是如果网络上使用需将数据表控件的属性设置为缓存更新模式。
      

  3.   

    用Select...into...比较好,可是问题是生成的临时表的名子要随机生成,不能相同否则会发生错误。
      

  4.   

    可以不用臨時表嗎?
    查詢出數據,顯示一筆資料(不是一筆記錄,主從表之類就可能有一筆主表記錄,多筆從表記錄),修改存檔時,再直接更新
    主表採用記錄形式存放,從表用TList
      

  5.   

    一种是用select * into temptablename from tablename 还有一种是你可以用bachmove来生成本地的一个表使用。
      

  6.   

    用select into...比较好;
    我觉得象 zhlmxh(梦想成真) 说的那样,将生成临时表做成存储过程
      

  7.   

    是。可是如果在程序中来创建临时表和用select into来建临时表有哪些方面的不同呢?
      

  8.   

    我还是想有个比较明确的说法,我是用create table #table 好还是select into来建临时表好。