永发信息网

sql 如何用临时表优化性能

答案:2  悬赏:30  手机版
解决时间 2021-02-12 10:35
  • 提问者网友:王者佥
  • 2021-02-11 11:48
在什么情况下可以使用临时表优化性能提高查询速度
最佳答案
  • 五星知识达人网友:何以畏孤独
  • 2021-02-11 12:23
具体问题是需要调试一下才可以确定的。

但是大体判断的方法个人认为,只要是用到临时表的查询,应该都是复杂一些的查询。
然后如果某一个查询,按逻辑来讲,需要先查询出某一结果集,然后对这个结果集再进行复杂处理,那这样的话,用一个临时表,先查询出这部分数据,然后在临时表的基础上再查询,这样是可以提高效率的

举个例子,比如有一张业务表,里面有很多年的数据。然后现在需要对2013年一季度的数据进行分析,需要对2013年一季度的数据进行多个维度的汇总查询,这样的话,那就先用一个临时表,查询出2013年的数据放入,然后对临时表再进行各种汇总,一般来讲会提高效率的。
全部回答
  • 1楼网友:千夜
  • 2021-02-11 13:08
sql语句删除临时表的方法: 一、删除语句: drop table #临时表名; drop table ##临时表名;二、#代表局部临时表,##代表全局临时表 局部临时表  以一个井号 (#) 开头的那些表名。只有在创建本地临时表的连接上才能看到这些表。  全局临时表  以两个井号 (##) 开头的那些表名。在所有连接上都能看到全局临时表。如果在创建全局临时表的连接断开前没有显式地除去这些表,那么只要所有其它任务停止引用它们,这些表即被除去。当创建全局临时表的连接断开后,新的任务不能再引用它们。当前的语句一执行完,任务与表之间的关联即被除去;因此通常情况下,只要创建全局临时表的连接断开,全局临时表即被除去。 三、创建临时表的方法 方法1,创建一个没有数据的临时表: create table #临时表名(字段1 约束条件,字段2 约束条件,.....) create table ##临时表名(字段1 约束条件,字段2 约束条件, .....) 例: create table #table_temp (xh int,test_column char(10));方法2,以表格检索结果创建临时表: select * into #临时表名 from 表名; select * into ##临时表名 from 表名; 例: select * into #table_temp from tt;四、检索临时表数据,与普通表格一样 select * from #临时表名; select * from ##临时表名;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯