数据库开发小知识普及一

本文介绍了数据库开发中的关键知识点,包括在Oracle中使用分区表的优点和注意事项,如分区消除、局部索引的选择以及全局临时表的高效特性。此外,还分享了SQL性能提升的策略,如使用绑定变量、批量提交和并行执行,并提醒了在高并发环境中使用并行执行的潜在风险。
摘要由CSDN通过智能技术生成

数据库开发小知识普及一:

1.表设计方面:

(1)Oracle表记录在5000w以上的大表,建议使用分区表。分区表的重要特性:高效的分区消除,高效的数据清理,高效的分区转移。

(2)使用分区表时,在sql的编写上注意尽量多的使用分区键,才能起到分区消除的效果。

(3)分区表的索引分为全局索引和局部索引,使用局部索引注意使用场景,不然走索引反而效率低。

(4)注意当清理分区数据之后,小心全局索引失效。

(5)推荐大家一种表--全局临时表,它的特点:

a.高效删除记录,基于会话的全局临时表,session连接退出,临时表记录自动删除,无需手动操作。

b.不同会话之间独立。针对不同会话数据独立,不同的session访问全局临时表,看到的结果不同。

c.无论insert、update还是delete,操作临时表产生很少的redo log,执行效率高。

适用场景:运算过程中临时处理数据的中间结果集表。

2.SQL语句性能提升的方法

(1)代码中的SQL编写时,能使用绑定变量的地方,尽量使用绑定变量。这样可以减少硬解析,大大提升sql执行效率。

(2)增删改的sql,比如insert,update,delete等sql,尽量批量提交,避免一条一条的提交。也可以提升数据更新效率。

(3)实现相同结果的情况下,集合写法,又优于单条批量提交。比如一条sql能插入10万条,肯定优于10万个单条sql。

(4)并行设置,带你的sql乘上火箭速度。如果给sql语句设置parallel并行度(一般设置为4-8),速度可以大大提升,但并行最大的缺点是占用cpu资源,在高并发的数据库中,可能导致其他应用资源不足,需谨慎使用,三思而行。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值