标签归档:临时表

如何给临时表添加索引呢?


摘要:
我们深知在数据库查询中,如果想快速的检索出相应的数据,我们可以通过添加索引,达到快速查询的目的,下文讲述sqlserver中对临时表添加索引的方法,如下所示:
实验环境:sql server 2008 R2



临时表添加索引的方法:

临时表添加索引的方法和物理表的方法一摸一样,例:

   create index [索引名称] on [临时表表名](字段信息)
     create table #maomao(keyId int, sort varchar(30),qty int)
     go
       create index ix_maomao on #maomao(keyId,sort)
      go
    
     go
     truncate table #maomao
     drop       table #maomao

mssql sqlserver 临时表在数据库中生命周期简介


摘要:
下文讲述sqlserver数据库中临时表中生命周期简介

当临时表被创建后,如果我们不显式的将临时表删除掉,那么临时表在以下几种情况下,会自动消失:
1.sqlserver引擎关闭或重启后
2.连接被断开后
2.1 当前连接被断开后,普通临时表会被自动删除掉
2.2 当所有连接被断开后,全局临时表会被自动删除掉

mssql sqlserver 临时表删除的正确方法分享


摘要:
下文讲述数据库中临时表的正确删除方法,如下所示:
实验环境:sql server 2008 R2


临时表和普通的物理表在sqlserver中存储的位置不同,一个在自己的数据库下,一个存储在tempdb数据库下。
常见的错误清除临时表方法如下:
错误删除方法1:

     --因为临时表存储在tempdb数据库下,如果我们在当前数据库下删除临时表,将会发生一些不可逆转的错误现象
     IF  EXISTS (SELECT * FROM sysobjects WHERE object_id = OBJECT_ID(N'[dbo].[#tempTable]') AND type in (N'U'))
      begin
         DROP TABLE [dbo].[tempTable]    ---将会清除实际存在的物理表
      end
    

错误删除方法2:

     ----临时表在tempdb的表名已经发生变化,不可以采用这种判断方式操作
     if exists (select * from tempdb.dbo.sysobjects where id = object_id(N'[#temptable]'))
    Begin
       drop table #temptable   
    End
    

正确删除临时表的方法:

    if object_id('tempdb..#tempTable') is not null
      begin
         drop table #tempTable
     end