zoukankan      html  css  js  c++  java
  • 临时表 表变量 游标

    表变量和临时表的比较:

    • 临时表是利用了硬盘(tempdb数据库) ,表名变量是占用内存,因此小数据量当然是内存中的表变量更快。当大数据量时,就不能用表变量了,太耗内存了。大数据量时适合用临时表。 
    • 表变量有明确的作用域,在定义表变量的函数、存储过程或批处理结束时,会自动清除表变量。 
    • 在存储过程中使用表变量与使用临时表相比,减少了存储过程的重新编译量。 
    • 表变量需要事先知道表结构,普通临时表,只在当前会话中可用与表变量相同into一下就可以了,方便;全局临时表:可在多个会话中使用存在于temp中需显示的drop。(不知道表结构情况下临时表方便一些) 
    • 全局临时表的功能是表变量没法达到的。 
    • 在新建临时表时,如果一次性插入数据量很大,那么可以使用select into代替create table,避免log,提高速度;如果数据量不大,为了缓和系统表的资源,建议先create table,然后insert。 
    • 如果使用到了临时表,在存储过程的最后务必将所有的临时表显式删除,先truncate table,然后drop table,这样可以避免系统表的较长时间锁定。 

     游标和临时表的比较:

    • 游标一般是每次取出一条记录然后操作,按照你的规则,一般是从第一条直到最后一条,一次对一条记录操作。
    • 临时表一般有些数据不能一次算出来,需要暂时放个地方,用完后就可以删除的记录,一般是批处理。

    http://blog.csdn.net/hebeijg/article/details/9817573

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

    http://www.cnblogs.com/Blogzhangli1989/archive/2013/01/15/2860853.html

    Stay hungry, stay foolish
  • 相关阅读:
    问题 E: C#判断回文字符串
    hdu 1130 How Many Trees? 【卡特兰数】
    The writing on the wall
    字典树的应用
    完全背包
    多重背包
    hdu 2191 【背包问题】
    最长上升子序列 and 最长公共子序列 问题模板
    hdu 4704 Sum 【费马小定理】
    费马小定理
  • 原文地址:https://www.cnblogs.com/xiao-hei/p/3874384.html
Copyright © 2011-2022 走看看