当前位置: 首页 > wzjs >正文

做机械有什么兼职网站成都有什么好玩的

做机械有什么兼职网站,成都有什么好玩的,百度云官方网站,沧州外贸网站建设应用程序通常使用某种形式的临时数据存储来处理过于复杂而无法一次性完成的流程。通常,这些临时存储被定义为数据库表或 PL/SQL 表。从 Oracle 8i 开始,可以使用全局临时表将临时表的维护和管理委托给服务器。 一、临时表分类 Oracle 支持两种类型的临…

应用程序通常使用某种形式的临时数据存储来处理过于复杂而无法一次性完成的流程。通常,这些临时存储被定义为数据库表或 PL/SQL 表。从 Oracle 8i 开始,可以使用全局临时表将临时表的维护和管理委托给服务器。

一、临时表分类

Oracle 支持两种类型的临时表。

  • 全局临时表:从 Oracle 8i 开始可用,也是本文的主题。
  • 私有临时表:自 Oracle 18c 起可用。

二、创建全局临时表

全局临时表中的数据是私有的,因此会话插入的数据只能由该会话访问。全局临时表中特定于会话的行可以为整个会话保留,也可以仅为当前事务保留。

ON COMMIT DELETE ROWS 子句指示应在事务结束或会话结束时删除数据。

CREATE GLOBAL TEMPORARY TABLE my_temp_table (id           NUMBER,description  VARCHAR2(20)
)
ON COMMIT DELETE ROWS;-- Insert, but don't commit, then check contents of GTT.
INSERT INTO my_temp_table VALUES (1, 'ONE');SELECT COUNT(*) FROM my_temp_table;COUNT(*)
----------1SQL>-- Commit and check contents.
COMMIT;SELECT COUNT(*) FROM my_temp_table;COUNT(*)
----------0

相反,ON COMMIT PRESERVE ROWS 子句指示行应在事务结束后继续保留。它们只会在会话结束时被删除。

CREATE GLOBAL TEMPORARY TABLE my_temp_table (id           NUMBER,description  VARCHAR2(20)
)
ON COMMIT PRESERVE ROWS;-- Insert and commit, then check contents of GTT.
INSERT INTO my_temp_table VALUES (1, 'ONE');
COMMIT;SELECT COUNT(*) FROM my_temp_table;COUNT(*)
----------1SQL>-- Reconnect and check contents of GTT.
CONN test/testSELECT COUNT(*) FROM my_temp_table;COUNT(*)
----------0SQL>

三、全局临时表和UNDO

虽然 GTT 中的数据被写入临时表空间,但关联的 undo 仍然写入普通 undo 表空间,普通 undo 表空间本身受重做保护,因此使用 GTT 并不会减少 undo 以及与保护 undo 表空间相关的重做。

以下代码创建一个常规表,填充它并检查事务使用的撤消量。

DROP TABLE my_temp_table PURGE;-- Create conventional table.
CREATE TABLE my_temp_table (id           NUMBER,description  VARCHAR2(20)
);-- Populate table.
INSERT INTO my_temp_table
WITH data AS (SELECT 1 AS idFROM   dualCONNECT BY level < 10000
)
SELECT rownum, TO_CHAR(rownum)
FROM   data a, data b
WHERE  rownum <= 1000000;-- Check undo used by transaction.
SELECT t.used_ublk,t.used_urec
FROM   v$transaction t,v$session s
WHERE  s.saddr = t.ses_addr
AND    s.audsid = SYS_CONTEXT('USERENV', 'SESSIONID');USED_UBLK  USED_UREC
---------- ----------302       6237

现在我们重复前面的测试,但这次使用GTT。

DROP TABLE my_temp_table PURGE;-- Create GTT.
CREATE GLOBAL TEMPORARY TABLE my_temp_table (id           NUMBER,description  VARCHAR2(20)
)
ON COMMIT PRESERVE ROWS;-- Populate GTT.
INSERT INTO my_temp_table
WITH data AS (SELECT 1 AS idFROM   dualCONNECT BY level < 10000
)
SELECT rownum, TO_CHAR(rownum)
FROM   data a, data b
WHERE  rownum <= 1000000;-- Check undo used by transaction.
SELECT t.used_ublk,t.used_urec
FROM   v$transaction t,v$session s
WHERE  s.saddr = t.ses_addr
AND    s.audsid = SYS_CONTEXT('USERENV', 'SESSIONID');USED_UBLK  USED_UREC
---------- ----------303       6238SQL>

对比undo块

我们可以看到,所使用的undo没有显着差异。

Oracle 12c引入了临时撤销的概念,允许将GTT的撤销写入临时表空间,从而减少了撤销和重做。

四、全局临时表和REDO

 GTT中的数据写入了临时表空间,该表空间不受重做的直接保护,因此使用GTT通过减少重做生成来改善性能。不幸的是,在Oracle 12c之前,所有与DML相关的dml与GTT相关联的撤消均写入正常的撤消表空间,该表本身受重做的保护。结果,使用GTT减少了重做生成的数量,但不会消除它。描述这一点的另一个原因是,使用GTT消除了直接的重做生成,而不是通过撤消的间接重做生成。

以下代码创建一个常规表,填充它并检查事务生成的重做量。

DROP TABLE my_temp_table PURGE;-- Create conventional table.
CREATE TABLE my_temp_table (id           NUMBER,description  VARCHAR2(20)
);SET AUTOTRACE ON STATISTICS;-- Populate table.
INSERT INTO my_temp_table
WITH data AS (SELECT 1 AS idFROM   dualCONNECT BY level < 10000
)
SELECT rownum, TO_CHAR(rownum)
FROM   data a, data b
WHERE  rownum <= 1000000;1000000 rows created.Statistics
----------------------------------------------------------158  recursive calls15350  db block gets2453  consistent gets0  physical reads23239100  redo size195  bytes sent via SQL*Net to client529  bytes received via SQL*Net from client1  SQL*Net roundtrips to/from client14  sorts (memory)0  sorts (disk)1000000  rows processedSQL>

我们现在重复之前的测试,但这次使用 GTT。

DROP TABLE my_temp_table PURGE;-- Create GTT.
CREATE GLOBAL TEMPORARY TABLE my_temp_table (id           NUMBER,description  VARCHAR2(20)
)
ON COMMIT PRESERVE ROWS;SET AUTOTRACE ON STATISTICS;-- Populate GTT.
INSERT INTO my_temp_table
WITH data AS (SELECT 1 AS idFROM   dualCONNECT BY level < 10000
)
SELECT rownum, TO_CHAR(rownum)
FROM   data a, data b
WHERE  rownum <= 1000000;1000000 rows created.Statistics
----------------------------------------------------------127  recursive calls15340  db block gets2439  consistent gets0  physical reads2943512  redo size195  bytes sent via SQL*Net to client529  bytes received via SQL*Net from client1  SQL*Net roundtrips to/from client13  sorts (memory)0  sorts (disk)1000000  rows processed

对比日志量

我们可以看到,在使用 GTT 时,我们创建了一个数量级较少的重做,但我们并没有消除它。

五、其它功能

  • 如果对临时表发出 TRUNCATE 语句,则仅截断特定于会话的数据。对其他会话的数据没有影响。
  • 临时表中的数据存储在临时表空间的临时段中。
  • 即使数据库会话异常结束,临时表中的数据也会在数据库会话结束时自动删除。
  • 可以在临时表上创建索引。索引的内容和索引的范围与数据库会话相同。
  • 可以针对临时表以及临时表和永久表的组合创建视图。
  • 临时表可以有与其关联的触发器。
  • 导出和导入实用程序可用于传输表定义,但不会处理任何数据行。
  • 临时表的统计信息对于所有会话都是通用的。 Oracle 12c 允许会话特定的统计信息。
  • 有许多与临时表相关的限制,但这些限制是特定于版本的。

六、Private Temporary Tables (18c+)

Oracle 18c 中引入了临时表的新变体。私有临时表是基于内存的临时表,根据设置在会话或事务结束时删除。

#数据库 #oracle #大页


🚀 更多数据库干货,欢迎关注【安呀智数据坊】

如果你觉得这篇文章对你有帮助,欢迎点赞 👍、收藏 ⭐ 和留言 💬 交流,让我知道你还想了解哪些数据库知识!

📬 想系统学习更多数据库实战案例与技术指南?

  • 📊 实战项目分享

  • 📚 技术原理讲解

  • 🧠 数据库架构思维

  • 🛠 工具推荐与实用技巧

立即关注,持续更新中 👇


文章转载自:

http://zayqBOKY.ptxhj.cn
http://QWsDq8oB.ptxhj.cn
http://BzPIaG5b.ptxhj.cn
http://DemhoE90.ptxhj.cn
http://0n9su2NJ.ptxhj.cn
http://b7n3AlR7.ptxhj.cn
http://eRJAOerK.ptxhj.cn
http://ZH520HvP.ptxhj.cn
http://pnpoeW67.ptxhj.cn
http://eNNqmsHX.ptxhj.cn
http://GNszJPoC.ptxhj.cn
http://h10TWpQ6.ptxhj.cn
http://y7bSLp2O.ptxhj.cn
http://LNpufUTb.ptxhj.cn
http://mtjgwbP1.ptxhj.cn
http://Y1YeFlYd.ptxhj.cn
http://zEAWKWet.ptxhj.cn
http://5gcOp0VB.ptxhj.cn
http://cPWFldmB.ptxhj.cn
http://s9ezi4y8.ptxhj.cn
http://SxaWuMtb.ptxhj.cn
http://NVEGVpZi.ptxhj.cn
http://BY9BDgwg.ptxhj.cn
http://wK1Jngvn.ptxhj.cn
http://3M96EKxq.ptxhj.cn
http://trzSqXBf.ptxhj.cn
http://DiOzyskl.ptxhj.cn
http://VToISpqg.ptxhj.cn
http://2sQLCqyA.ptxhj.cn
http://cfzRuh0X.ptxhj.cn
http://www.dtcms.com/wzjs/646190.html

相关文章:

  • 水头哪里有做网站的视频素材模板免费下载网
  • 长春网站建设团队wordpress二级分类列表
  • 网站建设与seo优化的公司seo标题关键词怎么写
  • 网站建设哪里好翰诺科技网站建设 汇卓
  • php招聘网站建设网络营销的六大特征
  • 大学城网站开发公司电话成都手工活外发加工网
  • 一键免费生成网页的网站创建自己的网页
  • python网站开发好吗上海沪琛品牌营销策划有限公司
  • 设计网站大全网站建设与管理的专业群
  • 接项目做的网站企业网站分析与优化
  • 无锡网站建设无锡网站开发html
  • 郑州app制作开发昆明seo培训
  • 建设公司网站建设报价wordpress显示doc
  • win7在局域网做网站数字化转型对企业的影响
  • 爱站工具包网站优化排名公司哪家好
  • 注册建设通网站办公软件公司排名
  • 旅游网站名字宣传广告制作
  • 做网站需要php吗wordpress媒体库图片
  • 阳泉住房建设局网站高考写作网站
  • ui中有哪些做的好看的网站免费com域名注册永久
  • 网站分类标准大沥南海网站建设
  • 上海做网站高端平面设计师证书考试官网
  • 自己的网站在哪里找天元建设集团有限公司第四建筑工程公司
  • 深圳国内网站制作哪家快某网络公司网站源码 蓝色建站企业网站源码
  • 梅州市工程建设交易中心网站物业公司网站建设策划书
  • 温州建设公司网站微网站免费
  • 虚拟商品购物网站源码帮别人做网站怎么赚钱
  • 施工员证怎么查询网站图片本地化wordpress
  • 响应式网站注意事项建筑网络教育
  • 网站的二级目录是什么可视网站开发工具