怎么样可以做网站,wordpress美化下载页面,公司建设网站需求分析报告,游戏后端开发需要学什么临时表分类
事务级临时表会话级临时表 临时表#xff0c;可以像普通表一样插入、更新和删除数据临时表的DML操作产生较少的redo日志临时表支持创建索引#xff0c;以提高查询性能在一个会话或事务结束之后#xff0c;数据将自动从临时表中删除不同的用户访问相同的临时表可以像普通表一样插入、更新和删除数据临时表的DML操作产生较少的redo日志临时表支持创建索引以提高查询性能在一个会话或事务结束之后数据将自动从临时表中删除不同的用户访问相同的临时表每个用户只看到自己的数据临时表的表结构在数据删除之后仍然存在临时表的权限管理和普通表一样
创建临时表
创建事务级的临时表
CREATE GLOBAL TEMPORARY TABLE TEST.tmp_t1(id int) ON COMMIT DELETE ROWS;
INSERT INTO TEST.TMP_T1 VALUES(1);
INSERT INTO TEST.TMP_T1 VALUES(2);
INSERT INTO TEST.TMP_T1 VALUES(3);
SELECT * from TEST.TMP_T1;创建会话级别的临时表
CREATE GLOBAL TEMPORARY TABLE TEST.tmp_t2(id int) ON COMMIT PRESERVE ROWS;
INSERT INTO TEST.TMP_T2 VALUES(10);
INSERT INTO TEST.TMP_T2 VALUES(20);
INSERT INTO TEST.TMP_T2 VALUES(30);
SELECT * from TEST.TMP_T2;查询临时表空间的信息
SELECT i.para_name,i.para_value from v$dm_ini i WHERE i.PARA_NAME LIKE %TEMP%;调整临时表空间的大小
TEMP_SIZE是静态参数调整大小后需要重启数据库实例
sp_set_para_value(2,TEMP_SIZE,200);重启数据库后重连 查看大小
SELECT i.para_name,i.para_value from v$dm_ini i WHERE i.PARA_NAME LIKE %TEMP%;临时表清空
临时表清空临时表空间文件在磁盘所占大小并不会因此缩减 验证 在TEST.TMP_T1里面插入10000000条数据
BEGIN
FOR i IN 1..10000000 LOOP
INSERT INTO TEST.TMP_T1 VALUES(i);
end loop;
end;查看表空间大小
SELECT i.para_name,i.para_value from v$dm_ini i WHERE i.PARA_NAME LIKE %TEMP%;查看实际表空间文件大小
SELECT df.TABLESPACE_NAME,df.FILE_NAME,df.BYTES/1024/1024 FROM SYS.DBA_DATA_FILES df WHERE DF.TABLESPACE_NAMETEMP;删除表
drop TABLE test.TMP_T1;查看表空间大小 不变
SELECT df.TABLESPACE_NAME,df.FILE_NAME,df.BYTES/1024/1024 FROM SYS.DBA_DATA_FILES df WHERE DF.TABLESPACE_NAMETEMP;释放临时表占用的物理磁盘空间
sp_trunc_ts_file是之前版本的方式现在的版本测试发现搞不了以下记录该方式的逻辑 sp_trunc_ts_file(a,b,c) a 指定临时表空间的id b 指定文件的id c 将文件截断至多少 查看a,b参数
SELECT f.GROUP_ID,f.ID,f.PATH FROM sys.v$datafile f;释放至200
sp_trunc_ts_file(3,0,200)现在的版本应该是直接修改temp下的dbf文件大小
alter tablespace TEMP resize datafile TEMP.DBF to 200;