版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Oracle兼容性和全局临时表的实现大纲兼容性的特点全局临时表特性概述全局临时表的实现和PostgreSQL社区的交流总结目标更短的迁移时间快速评估相关设施工具化服务化更小的迁移风险复杂 SQL 不调整逻辑更好的性能SQL执行效率高相关兼容点临时表分区表复杂SQLconnectbySQL性能优化 执行器优化器存储过程内置包兼容性的特点SQL层特性影响用户体验改造难度SQL标准结合在PostgreSQL中的实现综合考虑全局临时表特点大量用户反馈80%的 oracle 改造评估报告中改造难度业务需要每个会话不断创建的临时表。SQL标准有对全局临时表清晰的定义各数据库产品没有广泛遵守临时表特点Pos
2、tgreSQL支持本地临时表 local temporary table仅支持全局临时表语法,不支持全局临时表特性会话退出后临时表定义和数据被删除MySQL仅支持 CREATE TEMPORARY TABLE定义和数据会话间不共享全局临时表的特点CREATE GLOBAL TEMPORARY|TEMP TABLE table-name column-definition , column-definition * ON COMMIT DELETE | PRESERVE ROWS GlobalThe metadata is persistentThe metadata is visible to
3、 all sessionsON COMMITWhen ON COMMIT DELETE ROWS is specified or is default, then the data disappears when COMMIT happens.全局临时表优势表定义持久化且会话间共享每个会话不需要单独进行临时表和相关索引的创建不会由于频繁 DDL 造成系统表膨胀不会频繁创建和删除底层文件Global temp table vs local temp tableglobal temp tablelocal temp tableno data share across sessionyesyesSu
4、pport On COMMIT (DELETE ROWS /PRESERVE ROWS ) withsame behavioryesyesuse local bufferyesyesshare table schema across sessionsyesnodefinition deleted after a session completesnoyesON COMMIT DROPnoyesLocaltemptable的实现每个会话使用自己的 my_temp_namespace,同名不同oidTemp table 强制归属到 my_temp_namespace不同会话的my_temp_nam
5、espace 不可以相互访问会话退出时,删除整个 my_temp_namespace使用 local buffer全局临时表的实现实现上的考虑持久化的表定义一份定义多份数据多份数据多份统计信息数据可见性 mvcc异常清理DDL全局临时表的实现catalogRELPERSISTENCEON COMMIT Clauserelpages, reltuples, relfrozenxidpg_statisticstoraget$(backendid)_$(relfilenode)全局临时表的实现DDLDrop table如何删除多个会话中的local buffer 和storage fileCreat
6、e index其他会话中已经有数据怎么办Alter table需要重写所有会话中的数据文件么Truncate table如何做到可回滚Cluster/vacuum full改变 relfilenode全局临时表的实现统计信息和 dmlrelpages, reltuplespg_statisticNo autovacuumVacuum/analyzePlanner每个会话中的数据有一份独立的统计信息全局临时表的实现数据可见性 mvccrelfrozenxid同一张表,不同会话有不同的 relfrozenxidrelfrozenxid 的推进Vacuum会话级 Proc- relfrozenxid
7、需要保留 gtt 所需的 clog不能由于保留了“too old”的数据导致资源无法回收全局临时表的实现和社区的互动全局临时表的实现社区的分歧Local buffer VS shared buffer统计信息的必要性Temp table on standbySession table VS global temp table全局临时表的实现社区的反馈global temp table 沿用local temp table 沿用 local buffer 的设计第一个版本包括核心特性不包括 temp table on standbyProposal Global temporary tableshttps:/Proposal-Global-temporary-tables-td6107254.html全局临时表的实现todo list可变 relfilenodegtt 上更索引的使用体验优化自增列gtt on stand
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 破产案件档案管理制度
- 陕西档案室消毒制度规定
- 学校档案室档案归档制度
- xx单位档案管理制度
- 仓库危化品管理制度规范
- 街道制定档案工作制度
- 网箱养殖海参制度规范要求
- 如何规范打卡加班制度规定
- 养殖场定时喂食制度规范
- 养牛场生物安全制度规范
- 员工培训需求评估及方案设计模板
- 村级财务审计培训课件
- 2026年齐齐哈尔高等师范专科学校单招职业技能测试模拟测试卷必考题
- 初中生物教师培训课件
- 2025年辽宁省综合评标专家库考试题库及答案
- 多功能工程机械故障诊断平台创新创业项目商业计划书
- 实施指南(2025)《HGT 5987-2021 硫酸行业绿色工厂评价要求》
- GB/T 3863-2025工业氧
- 风电场运行维护管理方案
- 医院药房培训试题及答案
- 树脂类仓库管理办法
评论
0/150
提交评论