DB2sql——DB2临时表的创建
DB2支持session臨時(shí)表. 該表只能存在于某一session或某一交易上下文中,對(duì)其他用戶不可見(jiàn). DB2 V8增加了對(duì)臨時(shí)表的索引的支持, 這對(duì)于提升查詢速度比較有意義;
下面舉例子來(lái)說(shuō)明session臨時(shí)表的使用:
1. 在創(chuàng)建session臨時(shí)表前, 您必須創(chuàng)建臨時(shí)表空間
create user temporary tablespace test
pagesize 4 k managed by system
using ('[curdir]\temp');
2. 定義session臨時(shí)表,該定義拷貝transactions的表結(jié)構(gòu), on commit preserve rows用來(lái)指定即使該交易提交了, t1臨時(shí)表里的數(shù)據(jù)仍然存在,
只有當(dāng)session終止后,t1表才會(huì)消失.
如果不加上? on commit preserve rows 當(dāng)insert臨時(shí)表提交之后臨時(shí)表里的數(shù)據(jù)會(huì)自動(dòng)刪除掉。
declare global temporary table t1
like transactions
on commit preserve rows not logged in test;
3. 把transaction表的記錄插入t1臨時(shí)表中.
insert into session.t1
select * from transactions
4.從t1表中選擇記錄, 請(qǐng)注意這條語(yǔ)句的執(zhí)行速度.
select * from session.T1
where store='Rockwood';
5. 在t1表上創(chuàng)建索引, db2 v8允許在臨時(shí)表上創(chuàng)建索引,可以提升對(duì)臨時(shí)表的查詢速度.
create index session.t1index on session.t1(store);
6. 您再執(zhí)行同樣的select語(yǔ)句, 可以看出查詢速度有所提高.
select * from session.T1
where store='Rockwood';
7.在db2 9中 不必自己創(chuàng)建臨時(shí)表空間了,創(chuàng)建臨時(shí)表時(shí)會(huì)自動(dòng)創(chuàng)建一個(gè)用戶臨時(shí)表空間SYSTOOLSTMPSPACE。
轉(zhuǎn)載于:https://www.cnblogs.com/wy20110919/p/9071377.html
總結(jié)
以上是生活随笔為你收集整理的DB2sql——DB2临时表的创建的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: MOXA的Nport5600初始密码
- 下一篇: 【题解】hdu 3586 Informa