oracle timekey,Oracle 19c新特性介绍及优化实践.pptx

本文介绍了Oracle19c的新特性,重点讨论了数据库性能优化,包括理解SQL优化器、解决索引争用问题以及在云环境中的变革。通过示例展示了如何利用hash分区降低bufferbusywait,以及调整索引结构以提高查询效率。对于时间范围分区表,提出了通过调整索引列顺序和使用indexskipscan来优化查询性能。
摘要由CSDN通过智能技术生成

从自动化到自治Oracle 19c新特性介绍及优化实践;目录

Oracle 的变革之路

性能优化与数据库进化

Oracle 19c新特性;;Oracle 的云上变革之路 – 数据为王;;;;目录

Oracle 的变革之路

性能优化与数据库进化

Oracle 19c新特性;我的成长:曾经年少做开发;SELECT /*+ ordered */ “SP_TRANS”.“TRANS_NO”, … "SP_ITEM"."CHART_ID","SP_ITEM"."SPECIFICATION";SQL背后的世界:多表如何联合;SQL背后的世界:多表如何联合;SQL背后的世界:多表如何联合;SQL背后的世界:理解优化器;SQL背后的世界:理解优化器;Join order[88]: SP_RECEIVE [SP_RECEIVE] SP_RECEIVE_SUB [SP_RECEIVE_SUB] SP_CHK [SP_CHK] SP_CHK_SUB [SP_CHK_SUB] SP_TRANS [SP_TRANS] SP_TRANS_SUB [SP_TRANS_SUB] SP_ITEM [SP_ITEM]

Now joining: SP_CHK_SUB [SP_CHK_SUB] *******;;;常规表的单列索引IDX_PRODUCT_04 – product -LASTTIMEKEY;IDX_LOT_08 – lot - LASTTIMEKEY;时间范围分区表的复合索引IDX_PRODUCTHISTORY_01-producthistory- (timekey,productname) ;IDX_LOTHISTORY_02- lothistory- (timekey,eventname,machinename);LASTTIMEKEY/TIMEKEY是时间戳,单调递增;Index contention 是索引分裂同时有其他会话尝 试更新。最容易产生等待的是单调递增的索引,因 为每次插入都在索引的最右边。;数据库级解决方案:降低bufferbusywait/indexcontention,也就是打散热点索引,把相近timekey 对应的索引块分散;IDX_PRODUCT_04 / IDX_LOT_08 ,通过建立hash partition index,就可以把索引块分布到不 同的分区上,大幅降低争用;Create index IDX_PRODUCT_04 on PRODUCT(lasttimekey) global partition by hash(lasttimekey) partitions 16;Create index IDX_LOT_08 on LOT(lasttimekey) global partition by hash(lasttimekey) partitions 16;Producthistory/lothistory是分区表,无法直接创建hash子分区索引,除非把整个表重建为range-hash的复合分区,但是这么做改动太大;分析SQL,发现producthistory表的访问基本都是两个栏位productname和timekey的,因此把索 引重建为 productname 在前,timekey 在后就可解决问题。Create index idx_producthistory_01(productname,timekey);;LOTHISTORY 表的索引优化SQL主要以 timekey 为条件,很多不包括eventname, machinename; 必须有合适的索引可以应用 timekey 条件;可以增加前缀列,让SQL走index skip scan;但是前缀列的唯一值不能太大, 否则index skip scan的额外成本高; 前缀列的唯一值也不能太小,否则起不到分散索引块的作用。考虑使用8-32之间的值。;;SQL>select seq_eygle.nextval from dual; NEXTVAL---------- 1013950000000000000000000001SQL>select instance_number from v$instance;1SQL>select sid from v$mystat where rownum=1; 395;将分片能力引入到RAC集群实例中;;目录

Oracle 的变革之路

性能优化与数据库进化

Oracle 19c新特性;使用统计信息支持查询使用已经收集的统计信息,避免扫描大量数据;例如,select count(*) from emp可以极大提升某些检查

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值