`
zengshaotao
  • 浏览: 793211 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

DB2之临时表

    博客分类:
  • DB2
 
阅读更多

DB2支持session临时表. 该表只能存在于某一session或某一交易上下文中,对其他用户不可见. DB2 V8增加了对临时表的索引的支持, 这对于提升查询速度比较有意义; 

下面举例子来说明session临时表的使用: 

1. 在创建session临时表前, 您必须创建临时表空间 
create user temporary tablespace test 
pagesize 4 k managed by system 
using ('[curdir]\temp'); 

2. 定义session临时表,该定义拷贝transactions的表结构, on commit preserve rows用来指定即使该交易提交了, t1临时表里的数据仍然存在, 
只有当session终止后,t1表才会消失. 

如果不加上  on commit preserve rows 当insert临时表提交之后临时表里的数据会自动删除掉。 

declare global temporary table t1 
like transactions 
on commit preserve rows not logged in test; 

3. 把transaction表的记录插入t1临时表中. 
insert into session.t1 
select * from transactions 

4.从t1表中选择记录, 请注意这条语句的执行速度. 
select * from session.T1 
where store='Rockwood'; 

5. 在t1表上创建索引, db2 v8允许在临时表上创建索引,可以提升对临时表的查询速度. 
create index session.t1index on session.t1(store); 

6. 您再执行同样的select语句, 可以看出查询速度有所提高. 
select * from session.T1 
where store='Rockwood'; 

7.在db2 9中 不必自己创建临时表空间了,创建临时表时会自动创建一个用户临时表空间SYSTOOLSTMPSPACE。 

分享到:
评论

相关推荐

    DB2系统临时表空间过大引发的性能问题-contracted.doc

    DB2系统临时表空间过大可能引发严重的性能问题,这在实际操作中表现为SQL语句执行时间显著增加。本文以某银行的DB2数据库系统为例,深入探讨了如何诊断和解决此类问题。 首先,当遇到系统响应变慢、ACTIVE SESSION...

    db2表空间不足及处理

    这种情况下,DB2数据库会报-1585错误码,表明临时表空间不足。那么,如何解决这个问题呢? 首先,我们需要了解DB2表空间的概念。DB2表空间是指数据库中的一块逻辑存储单元,用于存储数据库中的数据。DB2表空间可以...

    db2表空间不足及处理.doc

    因此, DB2表空间的检查和处理是数据库管理员的重要任务之一。 一、DB2表空间的概念 DB2表空间是数据库管理系统中用于存储数据的基本结构单元。它是由一个或多个容器组成的,容器可以是磁盘文件或原始设备。DB2表...

    主流数据库中临时表的使用

    临时表可以在不同的数据库管理系统中使用,本文将对 MS SQLSERVER、Oracle 和 DB2 中的临时表进行介绍。 MS SQL SERVER 中的临时表 在 MS SQL SERVER 中,临时表是以井号 (#) 或数学符号 (##) 开头的表名。临时表...

    DB2恢复删除表学习

    - **表空间限制**:仅适用于常规表空间,不支持临时或大型表空间。 #### 四、恢复过程详解 当执行删除表操作时,DB2会在日志文件中记录一条关于该表的信息,并在恢复历史记录文件中保存用于重新创建表的DDL语句。 ...

    DB2表空间管理

    除了基本的SMS和DMS表空间之外,DB2还支持几种特殊类型的表空间,如系统临时表空间(System Temporary Table Space, STTS)和用户临时表空间(User Temporary Table Space, UTTS)。 **系统临时表空间(STTS)**: 系统...

    NC6.5 数据库参考脚本及临时表空间配置.pdf

    DB2的脚本可能涉及如何利用DB2提供的命令和工具来创建数据库和调整数据库参数,例如设置临时表空间的大小和配置。 在文档的“部分内容”中,我们看到了具体的SQLServer脚本实例,包括创建数据库、添加文件组和文件...

    DB2的表空间和缓冲池

    创建数据库时并不会自动创建用户临时表空间,但为了允许定义全局临时表,至少需要创建一个用户临时表空间。 #### 二、表空间管理方式 表空间的管理方式有两种: 1. **系统管理的空间(SMS)**:这种类型的表空间...

    db2常用命令 备份还原表

    根据给定文件的信息,我们可以总结出以下关于DB2数据库管理系统的相关知识点,这些知识点主要集中在...此外,DB2还提供了一些高级功能,如日志文件管理、临时表空间创建等,这些都是为了更好地满足不同应用场景的需求。

    NC6.1 数据库参考脚本及临时表要求

    总结而言,本文档涉及的数据库知识点包括数据库的创建与配置、文件和文件组管理、用户和权限管理以及临时表空间的调整,涵盖使用SQL Server、Oracle和DB2这三种主流数据库系统的关键操作。掌握这些知识点对于数据库...

    DB2表空间管理及查看脚本

    1. **子查询**:通过使用`WITH`子句定义了两个临时表`a`和`bas`,其中`a`用于计算各个表的大小和创建时间,而`bas`则用于累积计算所有表的总大小。 2. **条件过滤**:脚本中定义了一系列的过滤条件,以确保只删除...

    数据库原理实验二_DB2创建表和空间_艾孜尔江·艾尔斯兰著.docx

    用户可以自定义表空间,例如用户表空间、目录表空间和临时表空间,它们的默认类型通常是SMS。 3. **查看数据库信息**:通过命令`list db directory`可以查看系统数据库目录中的信息,如数据库名、别名等。实验中,...

    DB2编程基础要点 sql 存储过程

    与Sybase和Oracle不同,DB2的临时表只在同一个会话(session)内有效。这意味着在多线程程序中使用临时表可能会带来复杂性,因为难以管理各个会话间的临时表状态。创建临时表时,推荐使用`WITH REPLACE`选项,这可以...

    db2命令集合 db2命令集合

    临时表空间主要用于存储临时表或索引,当会话结束时,临时表空间中的所有对象都会被自动删除。其创建命令类似于普通表空间,但通常会关联到特定的临时分组。 1. **8K临时表空间** ```sql CREATE TEMPORARY ...

    DB2 UDB V8.1 管理

    在DB2中,表空间有四种类型:系统编目表空间、系统临时表空间、用户表空间和用户临时表空间。系统编目表空间存储数据库对象的元数据,系统临时表空间用于存储临时表数据,用户表空间和用户临时表空间则供用户创建表...

    DB2基础----表空间

    4. 恢复表空间:用于临时存储在数据库恢复过程中的数据,以备不时之需。 5. 脱机表空间:在维护或故障恢复期间,可以将表空间设置为脱机状态,防止对其中数据的访问。 三、创建表空间 创建表空间通常涉及以下步骤:...

    DB2编程基础DB2编程基础DB2编程基础

    - 临时表在DB2中只能建立在用户临时表空间(user temporary tablespace)上,如果数据库仅配置了系统临时表空间(system temporary tablespace),则无法创建临时表。 - 与Sybase和Oracle不同,DB2的临时表在同一个...

    db2使用技巧db2使用技巧

    DB2 的临时表是在一个 session 内有效的,因此,如果程序有多线程,最好不要用临时表,很难控制。 1.3 从数据表中取指定前几条记录 可以使用 FETCH FIRST 语句来取指定前几条记录,例如:SELECT * FROM tb_market_...

    DB2删除大数据量表方法.pdf

    在处理大数据量的表时,除了上述方法外,还可以考虑分批删除、使用分区策略、创建临时表等其他策略。例如,可以将大表按照一定的条件(如ID范围)分成小块,逐块删除,这样可以减少单次操作的负担,提高效率。同时,...

    小型DB2数据仓库设计

    DB2的表空间可以分为五种类型:目录表空间、常规表空间、长表空间、系统临时表空间和用户临时表空间。每种表空间都有其独特的用途和重要性。例如,目录表空间保存了系统目录表,是每个数据库必须且只能有一个的表...

Global site tag (gtag.js) - Google Analytics