什麼是臨時表,使用者做乙個操作查詢出幾百幾千條資料,我們可以把資料放在記憶體中。當有很多
使用者都這樣做,記憶體空間不足,這個時候就需要把資料儲存在磁碟上。
dm 臨時表支援以下功能:
在臨時表中,會話可以像普通永久表一樣更新、插入和刪除資料;
臨時表的 dml 操作產生較少的 redo 日誌;
臨時表支援建索引,以提高查詢效能;
在乙個會話或事務結束後,資料將自動從臨時表中刪除;
不同使用者可以訪問相同的臨時表,每個使用者只能看到自己的資料;
臨時表的資料量很少,意味著更高效的查詢效率;
臨時表的表結構在資料刪除後仍然存在,便於以後的使用;
臨時表的許可權管理跟普通表一致。
on commit preserve rows --session 會話級臨時表
on commit delete rows --transaction 事務級臨時表
事務級臨時表(整個事務結束後資料會清空)
1、建立臨時表,插入資料
create
global
temporary
table temp_transaction (id int
,name varchar(20
))oncommit
delete
rows
;insert
into temp_transaction values(1
,'a');
insert
into temp_transaction values(2
,'b'
);
2、查詢臨時表
3、提交事務再查詢
會話級臨時表(會話結束後資料會清空)1、建立臨時表,並插入資料
create
global
temporary
table temp_session (id int
,name varchar(20
))oncommit preserve rows
;insert
into temp_session values(1
,'a');
insert
into temp_session values(2
,'b'
);
2、提交事務並查詢(發現資料還在)
3、關閉當前會話,重新開啟發現資料已情況。所以會話級臨時表的資料只能當前會話可檢視到,結束會話資料會清空。
達夢資料庫全域性臨時表
on commit delete rows 指定臨時表是事務級的,每次事務提交或回滾之後,表中所有資料都被刪除 on commit preserve rows 指定臨時表是會話級的,會話結束時才清空表,並釋放臨時 b 樹。接下來我們來做系列測試 root dm1 bin disql ljb dame...
達夢資料庫外部表的使用
外部表就是資料不在資料庫中,而是將外部的檔案通重載入的形式鏈結到資料庫中。例子 1.外部的資料 dmdba dw01 dm cat test.txt 1,a2,b 3,c4,d 2.編寫控制檔案 dmdba dw01 dm cat test.ctl load data infile dm test....
達夢資料庫使用
1 修改最大連線數 先檢視當前的最大連線數 select sf get para value 2,max sessions 修改最大連線數 alter system set max sessions 1000 spfile 重啟資料庫 su dmdba cd dmdbms dmservicedmse...