《收获,不止oralce》读书笔记(4)

临时表:基于会话(commit preserve rows)和基于事务(commit delete rows)

1 CRUD产生的日志量比普通表要少 2 在session exit或者transaction commit时,不产生日志。

另外应用程序使用连接池,所以在存储过程中需要使用临时表来存放中间结果的场景,可以使用基于事务的类型。这样事务结束后,结果存放在普通表中,中间结果会被删除掉。并且因为事务的隔离性,可以使用多线程提高并发。可以把这样的业务逻辑放在一个事务中,写成存储过程的形式供应用程序多线程调用。

2 不同的会话(或者事务)独立。也就是同一张表中,不同用户或者事务查询出来的结果是不一致的。

delete操作并不是删除block,只是在block中打个标记。所以查询的效率不会提升。

删除整张表可以考虑使用truncate。

分区表:

范围分区:时间 列表分区:地域 hash分区:id可以避免热点

只有大表(记录数在100万级别)才建议建分区,日志表和历史表可以设计成分区表。

分区切割:alter table rang_table split partition max_partition at (TO_DATE('20xx-xx-xx','YYYY-MM-DD') into (new_partition,max_partition);

其余分区合并,分区追加,分区删除

分区索引:全局和分区索引(index和index partition,table和table partition)

索引失效:对分区表的分区操作,例如转移,切割,合并,增删,truncate等,都会导致全局索引失效。可以使用关键字update global indexes或者alter index global_index rebuid来重建索引。

访问分区表时务必记得加上分区条件 从而有效的做到分区消除。

索引组织表跟mysql的表结构类似。索引组织表的更新要比普通表开销要大,适用配置表。

orderby 如果排序列正好是索引列时,可以避免排序。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值