精华内容
下载资源
问答
  • http://www.cnblogs.com/Mainz/archive/2008/12/20/1358897.html什么情况...什么情况下使用临时表?表变量:DECLARE @tb table(id int identity(1,1), name varchar(100)) INSERT @tbSELECT id, name FROM mytable

    http://www.cnblogs.com/Mainz/archive/2008/12/20/1358897.html

    什么情况下使用表变量?什么情况下使用临时表?

    表变量:

    DECLARE @tb  table(id   int   identity(1,1), name   varchar(100))
    INSERT @tb

    SELECT id, name
    FROM mytable

    WHERE name like ‘zhang%’

    临时表:

    SELECT name, address
    INTO #ta   FROM mytable
    WHERE name like ‘zhang%’

    表变量和临时表的比较:

    • 临时表是利用了硬盘(tempdb数据库) ,表名变量是占用内存,因此小数据量当然是内存中的表变量更快。当大数据量时,就不能用表变量了,太耗内存了。大数据量时适合用临时表。
    • 表变量缺省放在内存,速度快,所以在触发器,存储过程里如果数据量不大,应该用表变量。
    • 临 时表缺省使用硬盘,一般来说速度比较慢,那是不是就不用临时表呢?也不是,在数据量比较大的时候,如果使用表变量,会把内存耗尽,然后使用 TEMPDB的空间,这样主要还是使用硬盘空间,但同时把内存基本耗尽,增加了内存调入调出的机会,反而降低速度。这种情况建议先给TEMPDB一次分配合适的空间,然后使用临时表。
    • 临时表相对而言表变量主要是多了I/O时间,但少了对内存资源的占用。数据量较大的时候,由于对内存资源的消耗较少,使用临时表比表变量有更好的性能。
    • 建议:触发器、自定义函数用表变量;存储过程看情况,大部分用表变量;特殊的应用,大数据量的场合用临时表。
    • 表变量有明确的作用域,在定义表变量的函数、存储过程或批处理结束时,会自动清除表变量。
    • 在存储过程中使用表变量与使用临时表相比,减少了存储过程的重新编译量。
    • 涉及表变量的事务只在表变量更新期间存在。这样就减少了表变量对锁定和记录资源的需求。
    • 表变量需要事先知道表结构,普通临时表,只在当前会话中可用与表变量相同into一下就可以了,方便;全局临时表:可在多个会话中使用存在于temp中需显示的drop。(不知道表结构情况下临时表方便一些)
    • 全局临时表的功能是表变量没法达到的。
    • 表变量不必删除,也就不会有命名冲突,临时表特别是全局临时表用的时候必须解决命名冲突。
    • 应避免频繁创建和删除临时表,减少系统表资源的消耗。
    • 在新建临时表时,如果一次性插入数据量很大,那么可以使用select into代替create table,避免log,提高速度;如果数据量不大,为了缓和系统表的资源,建议先create table,然后insert。
    • 如果临时表的数据量较大,需要建立索引,那么应该将创建临时表和建立索引的过程放在单独一个子存储过程中,这样才能保证系统能够很好的使用到该临时表的索引。
    • 如果使用到了临时表,在存储过程的最后务必将所有的临时表显式删除,先truncate table,然后drop table,这样可以避免系统表的较长时间锁定。
    • 慎用大的临时表与其他大表的连接查询和修改,减低系统表负担,因为这种操作会在一条语句中多次使用tempdb的系统表。
    展开全文
  • 什么情况下使用表变量?什么情况下使用临时表? 表变量: DECLARE @tb table(id int identity(1,1), name varchar(100)) INSERT @tb SELECT id, name FROM mytable...

    http://www.cnblogs.com/Mainz/archive/2008/12/20/1358897.html

    什么情况下使用表变量?什么情况下使用临时表?

    表变量:

    DECLARE @tb  table(id   int   identity(1,1), name   varchar(100))
    INSERT @tb

    SELECT id, name
    FROM mytable

    WHERE name like ‘zhang%’

    临时表:

    SELECT name, address
    INTO #ta   FROM mytable
    WHERE name like ‘zhang%’

    表变量和临时表的比较:

    • 临时表是利用了硬盘(tempdb数据库) ,表名变量是占用内存,因此小数据量当然是内存中的表变量更快。当大数据量时,就不能用表变量了,太耗内存了。大数据量时适合用临时表。
    • 表变量缺省放在内存,速度快,所以在触发器,存储过程里如果数据量不大,应该用表变量。
    • 临 时表缺省使用硬盘,一般来说速度比较慢,那是不是就不用临时表呢?也不是,在数据量比较大的时候,如果使用表变量,会把内存耗尽,然后使用 TEMPDB的空间,这样主要还是使用硬盘空间,但同时把内存基本耗尽,增加了内存调入调出的机会,反而降低速度。这种情况建议先给TEMPDB一次分配合适的空间,然后使用临时表。
    • 临时表相对而言表变量主要是多了I/O时间,但少了对内存资源的占用。数据量较大的时候,由于对内存资源的消耗较少,使用临时表比表变量有更好的性能。
    • 建议:触发器、自定义函数用表变量;存储过程看情况,大部分用表变量;特殊的应用,大数据量的场合用临时表。
    • 表变量有明确的作用域,在定义表变量的函数、存储过程或批处理结束时,会自动清除表变量。
    • 在存储过程中使用表变量与使用临时表相比,减少了存储过程的重新编译量。
    • 涉及表变量的事务只在表变量更新期间存在。这样就减少了表变量对锁定和记录资源的需求。
    • 表变量需要事先知道表结构,普通临时表,只在当前会话中可用与表变量相同into一下就可以了,方便;全局临时表:可在多个会话中使用存在于temp中需显示的drop。(不知道表结构情况下临时表方便一些)
    • 全局临时表的功能是表变量没法达到的。
    • 表变量不必删除,也就不会有命名冲突,临时表特别是全局临时表用的时候必须解决命名冲突。
    • 应避免频繁创建和删除临时表,减少系统表资源的消耗。
    • 在新建临时表时,如果一次性插入数据量很大,那么可以使用select into代替create table,避免log,提高速度;如果数据量不大,为了缓和系统表的资源,建议先create table,然后insert。
    • 如果临时表的数据量较大,需要建立索引,那么应该将创建临时表和建立索引的过程放在单独一个子存储过程中,这样才能保证系统能够很好的使用到该临时表的索引。
    • 如果使用到了临时表,在存储过程的最后务必将所有的临时表显式删除,先truncate table,然后drop table,这样可以避免系统表的较长时间锁定。
    • 慎用大的临时表与其他大表的连接查询和修改,减低系统表负担,因为这种操作会在一条语句中多次使用tempdb的系统表。

    转载于:https://www.cnblogs.com/shineqiujuan/archive/2010/03/23/1692212.html

    展开全文
  • SQL知识整理一:触发器、存储过程、表变量、临时表 什么情况下使用表变量? 什么情况下使用临时表?   ---------------------------------------------------------------------------------------------------...

    SQL知识整理一:触发器、存储过程、表变量、临时表

    什么情况下使用表变量?
    什么情况下使用临时表?

     

    ------------------------------------------------------------------------------------------------------------------------------

    表变量在批处理结束时自动被系统删除,所以你不必要像使用临时表一样显示的对它进行删除.
    表变量和临时表针对我们使用人员来说并没有什么不同,但是在存储方面来说,他们是不同的,表变量存储在内存中.所以在性能上和临时表相比会更好些! 
    3个理论上的不同。
    第一个不同是事务日志不会记录表变量。因此它们脱离了事务机制的范围。
    第二个主要的不同是任何一个使用临时表的存储过程都不会被预编译,然而使用表变量的存储过程的执行计划可以预先静态的编译。预编译一个脚本的主要好处在于加快了执行的速度。这个好处对于长的存储过程更加显著因为对它来说重新编译代价太高.
    最后表变量仅存在于那些变量能存在的相同范围内。和临时表相反它们在内部存储过程和execstring语句里是不可见的。它们也不能在insert/exec语句里使用


    ------------------------------------------------------------------------------------------------------------------------------

    表变量只存放在内存中,临时表需要写磁盘。所以一般情况下,用表变量会快些。

    用法不太一样,有些时候用表变量更方便。

     

    1.表变量在内存中,临时表存放在硬盘上;
    2.用临时表要考虑锁不锁表的问题;
    3.数据量太大应该用临时表。

     

    1、表变量缺省放在内存,速度快,所以在触发器,存储过程里如果数据量不大,应该用表变量。
    2、 临时表缺省使用硬 盘,一般来说速度比较慢,那是不是就不用临时表呢?也不是,在数据量比较大的时候,如果使用表变量,会把内存耗尽,然后使用TEMPDB的空间,这样主要 还是使用硬盘空间,但同时把内存基本耗尽,增加了内存调入调出的机会,反而降低速度。这种情况建议先给TEMPDB一次分配合适的空间,然后使用临时表。

    ------------------------------------------------------------------------------------------------------------------------------

    肤浅理解:
    表变量:需要事先知道表结构
    普通临时表:只在当前会话中可用与表变量相同 into一下就可以了,方便
    全局临时表:可在多个会话中使用存在于temp中需显示的drop


    ------------------------------------------------------------------------------------------------------------------------------

    要从表变量的作用域,支持不支持的操作,机器内存大小等几方面考虑。
    如:
    .表变量相当于ADO的RECORDSET,速度比临时表快得多。
    表变量不能用在下列语句中:
    INSERT INTO table_variable EXEC 存储过程。
    SELECT select_list INTO table_variable 语句。


    在定义 table 变量的函数、存储过程或批处理结束时,自动清除 table 变量。
    但临时表支持。


    .表变量速度比临时表快得多(如果内存足够)
    如果数据量不大:
    微软 BOOK ON LINE 内说:尽可能使用表变量而不使用临时表
    ------------------------------------------------------------------------------------------------------------------------------

     

    表变量有以下优点

    table 变量的行为类似于局部变量,有明确定义的作用域。该作用域为声明该变量的函数、存储过程或批处理。
    在其作用域内,table 变量可像常规表那样使用。该变量可应用于 SELECT、INSERT、UPDATE 和 DELETE 语句中用到表或表的表达式的地方。

    但是,table 不能用在下列语句中:

    INSERT INTO table_variable EXEC 存储过程。

    SELECT select_list INTO table_variable 语句。

    在定义 table 变量的函数、存储过程或批处理结束时,自动清除 table 变量。

    在存储过程中使用表变量与使用临时表相比,减少了存储过程的重新编译量。


    涉及表变量的事务只在表变量更新期间存在。这样就减少了表变量对锁定和记录资源的需求。
    不支持在表变量之间进行赋值操作。另外,由于表变量作用域有限,并且不是持久数据库的一部分,因而不受事务回滚的影响。

     

    表变量和临时表对比总结

    特性

    表变量

    临时表

    作用域

    当前批处理

    当前会话,嵌套存储过程,全局:所有会话

    使用场景

    自定义函数,存储过程,批处理

    自定义函数,存储过程,批处理

    创建方式

    DECLARE statement only.只能通过DECLEARE语句创建

    CREATE TABLE 语句

    SELECT INTO 语句.

    表名长度

    最多128字节

    最多116字节

    列类型

    可以使用自定义数据类型

    可以使用XML集合

    自定义数据类型和XML集合必须在TempDb内定义

    Collation

    字符串排序规则继承自当前数据库

    字符串排序规则继承自TempDb数据库

    索引

    索引必须在表定义时建立

    索引可以在表创建后建立

    约束

    PRIMARY KEY, UNIQUE, NULL, CHECK约束可以使用,但必须在表建立时声明

    PRIMARY KEY, UNIQUE, NULL, CHECK. 约束可以使用,可以在任何时后添加,但不能有外键约束

    表建立后使用DDL (索引,列)

    不允许

    允许.

    数据插入方式

    INSERT 语句 (SQL 2000: 不能使用INSERT/EXEC).

    INSERT 语句, 包括 INSERT/EXEC.

    SELECT INTO 语句.

    Insert explicit values into identity   columns (SET IDENTITY_INSERT).

    不支持SET IDENTITY_INSERT语句

    支持SET IDENTITY_INSERT语句

    Truncate table

    不允许

    允许

    析构方式

    批处理结束后自动析构

    显式调用 DROP TABLE 语句.
      当前会话结束自动析构 (全局临时表: 还包括当其它会话语句不在引用表.)

    事务

    只会在更新表的时候有事务,持续时间比临时表短

    正常的事务长度,比表变量长

    存储过程重编译

    会导致重编译

    回滚

    不会被回滚影响

    会被回滚影响

    统计数据

    不创建统计数据,所以所有的估计行数都为1,所以生成执行计划会不精准

    创建统计数据,通过实际的行数生成执行计划。

    作为参数传入存储过程

    仅仅在SQL Server2008, 并且必须预定义   user-defined table type.

    不允许

    显式命名对象 (索引, 约束).

    不允许

    允许,但是要注意多用户的问题

    动态SQL

    必须在动态SQL中定义表变量

    可以在调用动态SQL之前定义临时表

     

    二、

    表变量存储在内存中,而临时表存储在tempdb中,会涉及到物理IO读写,那么我们是否可以由此得出结论,使用表变量要比使用临时表效率高呢?相信有一部分人会和我有同样的想法,使用表变量的效率高,真是如此吗?先从一次优化存储过程的经历说起。

          存储过程涉及到两个表,一个是用户今日积分表@tableUserScore(数据源来自用户积分详情表中的今日数据),一个是用户积分统计表 UserScoreSum,该存储过程逻辑就是统计@tableUserScore中用户不同原因的积分值,生成到表UserScoreSum中。数据量 不算很大,@tableUserScore中大概40万条,但这个存储过程执行时间却有些惊人,通常都在1个小时之上。优化的最终结果是将表变量@tabeUserScore换成了临时表#tableUserScore,并在userid和reason上添加了联合索引,优化的效果是执行时间控制在了40S左右。临时表和表变量效率相差百倍,这次优化经历让我对临时表和表变量有了重新认识,也有了一连串的疑问,它们是如何存储的,效率如何,如何选用?

    declare@tableUserScoretable(
    userid int, --用户编号
    name varchar(10), --用户姓名
    reason varchar(32), --积分原因
    score int--积分值
    )
    
    createtable UserScoreSum(
    userid int, --用户编号
    name varchar(10), --用户姓名
    createTime datetime, --时间
    reason1Score int, --原因1积分值
    reason2Score int, --原因2积分值
    reason3Score int, --原因3积分值
    reason4Score int, --原因4积分值
    )

     

         以下是个人翻阅资料后的理解,总结出来希望能给和我有同样认识的人提个醒,起到抛砖引玉的作用,也希望大家对理解错误之处提出指正。

         临时表

         临时表有两种类型:本地表和全局表。在与首次创建或引用表时相同的 SQL Server 实例连接期间,本地临时表只对于创建者是可见的。当用户与 SQL Server 实例断开连接后,将删除本地临时表。全局临时表在创建后对任何用户和任何连接都是可见的,当引用该表的所有用户都与 SQL Server 实例断开连接后,将删除全局临时表。本地临时表的名称都是以“#”为前缀,全局临时表的名称都是以“##”为前缀。

         临时表存储在tempdb中,因此临时表的访问是有可能造成物理IO的,当然在修改时也需要生成日志来确保一致性,同时锁机制也是不可缺少的。

         临时表可以创建索引,也可以定义统计数据,所以可以用数据定义语言(DDL)的声明来阻止临时表添加的限制,约束,并参照完整性,如主键和外键约束。

         表变量

         表变量是变量的一种,表变量也分为本地及全局的两种,本地表变量的名称都是以“@”为前缀,只有在本地当前的用户连接中才可以访问。全局的表变量的名称都 是以“@@”为前缀,一般都是系统的全局变量,像我们常用到的,如@@Error代表错误的号,@@RowCount代表影响的行数。

         表变量存放在内存中,正是因为这一点所有用户访问表变量的时候SQL Server是不需要生成日志。同时变量是不需要考虑其他会话访问的问题,因此也不需要锁机制,对于非常繁忙的系统来说,避免锁的使用可以减少一部分系统负载。[表变量存放在内存是有一定限制的,如果表变量数据量超过阈值,会把内存耗尽,然后使用TempDB的空间,这样主要还是使用硬盘空间,但同时把内存基本耗尽,增加了内存调入调出的机会,反而降低速度]

         表变量另外还有一个限制就是不能创建索引,当然也不存在统计数据的问题,因此在用户访问表变量的时候也就不存在执行计划选择的问题了(也就是以为着编译阶段后就没有优化阶段了),这一特性有的时候是件好事,而有些时候却会造成一些麻烦。

         临时表 vs. 表变量

         1.存储位置:临时表是利用了硬盘(tempdb数据库) ,表名变量是占用内存,因此小数据量当然是内存中的表变量更快。当大数据量时,就不能用表变量了,太耗内存了。大数据量时适合用临时表。

         2.性能:不能一概而论,表变量存储数据有个性能临界点,在这个临界点之内,表变量比临时表快,表变量是存储在内存中的。

         3.索引:表变量不支持索引和统计数据,但可以有主键;临时表则可以支持索引和统计数据。

         我们对于较小的临时计算用数据集考虑使用表变量。如果数据集比较大,如果 在代码中用于临时计算,同时这种临时使用永远都是简单的全数据集扫描而不需要考虑什么优化,比如说没有分组或分组很少的聚合(比如说COUNT、SUM、 AVERAGE、MAX等),也可以考虑使用表变量。使用表变量另外一个考虑因素是应用环境的内存压力,如果代码的运行实例很多,就要特别注意内存变量对 内存的消耗。一般对于大的数据集我们最好使用临时表,同时创建索引。

     

    http://www.cnblogs.com/freshman0216/archive/2010/11/14/1868672.html

     

    展开全文
  • 表变量与临时表的优缺点

    千次阅读 2004-09-07 11:26:00
    什么情况下使用表变量? 什么情况下临时表? --------------------------------------------------------------- 表变量只存放在内存中,临时表... 具体再看SQL 2000帮助。试用下就知道了。 ---------------------
    什么情况下使用表变量?  
    什么情况下临时表?  
    ---------------------------------------------------------------  
     
    表变量只存放在内存中,临时表需要写磁盘。所以一般情况下,用表变量会快些。  
     
    用法不太一样,有些时候用表变量更方便。  
     
    具体的再看SQL  2000的帮助。试用下就知道了。  
    ---------------------------------------------------------------  
     
    个人观点:  
    1、表变量缺省放在内存,速度快,所以在触发器,存储过程里如果数据量不大,应该用表变量。  
    2、临时表缺省使用硬盘,一般来说速度比较慢,那是不是就不用临时表呢?也不是,在数据量比较大的时候,如果使用表变量,会把内存耗尽,然后使用TEMPDB的空间,这样主要还是使用硬盘空间,但同时把内存基本耗尽,增加了内存调入调出的机会,反而降低速度。这种情况建议先给TEMPDB一次分配合适的空间,然后使用临时表。  
     
     
     
    ---------------------------------------------------------------  
     
    肤浅理解:  
           表变量:需要事先知道表结构  
           普通临时表:只在当前会话中可用与表变量相同  into一下就可以了,方便  
           全局临时表:可在多个会话中使用存在于temp中需显示的drop  
    ---------------------------------------------------------------  
     
    要从表变量的作用域,支持不支持的操作,机器内存大小等几方面考虑。  
    如:  
    .表变量相当于ADO的RECORDSET,速度比临时表快得多。  
    表变量不能用在下列语句中:  
    INSERT  INTO  table_variable  EXEC  存储过程。  
    SELECT  select_list  INTO  table_variable  语句。  
    在定义  table  变量的函数、存储过程或批处理结束时,自动清除  table  变量。  
    但临时表支持。  
    .表变量速度比临时表快得多(如果内存足够)  
    如果数据量不大:  
    微软  BOOK  ON  LINE  内说:尽可能使用表变量而不使用临时表  
    ---------------------------------------------------------------  
     
    贴出来看看:  
     
    尽可能使用表变量而不使用临时表。table  变量有以下优点:    
     
    table  变量的行为类似于局部变量,有明确定义的作用域。该作用域为声明该变量的函数、存储过程或批处理。    
    在其作用域内,table  变量可像常规表那样使用。该变量可应用于  SELECT、INSERT、UPDATE  和  DELETE  语句中用到表或表的表达式的地方。但是,table  不能用在下列语句中:  
     
    INSERT  INTO  table_variable  EXEC  存储过程。  
     
    SELECT  select_list  INTO  table_variable  语句。  
     
    在定义  table  变量的函数、存储过程或批处理结束时,自动清除  table  变量。  
     
    在存储过程中使用表变量与使用临时表相比,减少了存储过程的重新编译量。  
     
     
    涉及表变量的事务只在表变量更新期间存在。这样就减少了表变量对锁定和记录资源的需求。    
    不支持在表变量之间进行赋值操作。另外,由于表变量作用域有限,并且不是持久数据库的一部分,因而不受事务回滚的影响。  
     
    ---------------------------------------------------------------  
     
    个人认为:  
    1.表变量在内存中,临时表存放在硬盘上;  
    2.用临时表要考虑锁不锁表的问题;  
    3.数据量太大应该用临时表。
    展开全文
  • 什么情况下使用表变量? 什么情况下临时表? --------------------------------------------------------------- 表变量只存放在内存中,临时... 具体再看SQL 2000帮助。试用下就知道了。 ---------------------...
  • MySQL、SQL SERVER提供了三种方法临时存储结果集,分别是临时表、表变量和公用表表达式。临时表临时表需要在临时数据库TempDB中通过I/O操作来创建表结构...临时表的优缺点临时表的优点是能够和普通的物理表一样长久...
  • 优点:  可以在SQL语句中调用,直接使用返回值,从而可以形成复杂的SQL应用。 缺点:  能在函数中使用语句有...insert、delete、update只能用在临时表上; 不支持动态SQL; 不支持“不确定”函数,比如常用g...
  • 1、视图,临时表的概念 2、视图和临时表的区别 3、优缺点   一、 1、视图    视图是由从数据库的基本表中选出来的数据组成的逻辑窗口,它与基本表不同的是,视图是一个虚表。数据库中只存放视图的定义,而...
  • 数据库游标作用及优缺点

    万次阅读 2017-06-11 11:32:33
    概括来讲,SQL的游标是一种临时的数据库对象,即可以用来存放在数据库数据行副本,也可以指向存储在数据库中数据行指针。游标提供了在逐行基础上操作中数据方法。 游标一个常见用途就是保存...
  • MySQL临时表创建及一些相关知识点: 存储过程: 什么是存储过程: 存储过程类似于java中某些方法,可以用于实现一些比较复杂逻辑功能,针对于数据库,简单来说,就是一组sql语句。存储过程是主动来使用sql...
  • 2.视图的优缺点优点:1)对于那些需要反复执行的、复杂的sql语句,不用每次都写一遍,效率很高2)视图中的数据会随着原数据的变化而更新3)视图不需要保存数据,节省空间缺点:1)不要轻易向视图中插入数据2)尽量...
  • SqlServer游标1.0

    2020-05-27 09:53:19
    游标游标的定义游标的优缺点游标语法游标使用实例 游标的定义 游标是SQL 的一种数据访问机制。可以将游标简单的看成是查询的结果集的一个指针,可以根据需要在结果集上面来回滚动,浏览需要的数据。 游标的优缺点 ...
  • VFP的优劣势

    万次阅读 2007-12-22 14:11:00
    VFP的优劣势:优点与缺点是一回事,能不能流行又是另一回事,vfp9的推出,可见微软件是不会放弃vfp的。对小型应用,vfp+sql server数据库引擎不错,开发起来也快。其实各种语言都差不多,学会了一种,再学其它的会很...
  • 通过学习书中代码和图例,您不仅能访问和修改数据库信息,编写功能强大pl/sql语句,执行有效查询和部署稳固安全性,还能轻松实现c、c++和java过程,建立可启用web数据库,缩短开发时间和优化性能。...
  • PL/SQL 基础.doc

    2010-09-29 09:31:29
    4. PL/SQL的优缺点 优点:1) 结构化模块化编程,不是面向对象; 2) 良好的可移植性(不管Oracle运行在何种操作系统); 3) 良好的可维护性(编译通过后存储在数据库里); 4) 提升系统性能; 缺点 1) 不便于向异构...
  • 通过学习书中代码和图例,您不仅能访问和修改数据库信息,编写功能强大pl/sql语句,执行有效查询和部署稳固安全性,还能轻松实现c、c++和java过程,建立可启用web数据库,缩短开发时间和优化性能。...
  • oracle 删除重复记录

    千次阅读 2009-04-03 20:51:00
    对此,总结了一下删除重复记录的方法,以及每种方法的优缺点。...1、通过创建临时表可以把数据先导入到一个临时表中,然后删除原表的数据,再把数据导回原表,SQL语句如下:creat table tbl_tmp (select distinct* f
  •  索引的优缺点  锁和死锁对系统性能的各种影响  理解触发器及其使用方式  《SQL Server 2008编程入门经典(第3版)》读者对象  《SQL Server 2008编程入门经典(第3版)》适合于希望全面了解数据库设计概念和学习...
  • 索引的优缺点 锁和死锁对系统性能的各种影响 理解触发器及其使用方式 《SQL Server 2008编程入门经典(第3版)》读者对象 《SQL Server 2008编程入门经典(第3版)》适合于希望全面了解数据库设计概念和学习SQL的开发...
  • 索引的优缺点 锁和死锁对系统性能的各种影响 理解触发器及其使用方式 《SQL Server 2008编程入门经典(第3版)》读者对象 《SQL Server 2008编程入门经典(第3版)》适合于希望全面了解数据库设计概念和学习SQL的开发...
  • 正在看的ORACLE教程是:oracle快速删除重复的记录。做项目的时候,一位同事导数据的时候,不小心... 1、通过创建临时表 可以把数据先导入到一个临时表中,然后删除原表的数据,再把数据导回原表,SQL语句如下: creat 
  • 快速删除重复记录

    2009-06-24 17:07:00
    总结了一下删除重复记录的方法,以及每种方法的优缺点。...1、通过创建临时表可以把数据先导入到一个临时表中,然后删除原表的数据,再把数据导回原表,SQL语句如下:creat table tbl_tmp (select distinct* from tb

空空如也

空空如也

1 2 3
收藏数 52
精华内容 20
关键字:

sql临时表的优缺点