查看: 70|回复: 5

基于案例学SQL优化第4课作业一讨论

[复制链接]
论坛徽章:
2
scala徽章
日期:2014-11-06 14:55:37Excel徽章
日期:2017-02-23 15:57:21
发表于 2017-1-12 11:36 | 显示全部楼层 |阅读模式
说说分区表的主要好处是什么,为什么会有这些好处。


回复

使用道具 举报

论坛徽章:
2
scala徽章
日期:2014-11-06 14:55:37Excel徽章
日期:2017-02-23 15:57:21
 楼主| 发表于 2017-1-12 11:37 | 显示全部楼层
(1)高效分区消除,将访问操作控制在小范围分区,减少访问路径和数据,可以提高SQL的性能,化整为零,每个分区就是一个单独的segment,使用分区的分区消除特性,使得原来要扫描整个表的开销变为只扫描一个分区的开销;
(2)高效数据清理,提升性能,可以直接通过TRUNCAT操作对指定进行清理。delete时要记录日志,产生大量的undo数据,并且undo数据也是需要redo保护的,因此开销很大,要高效清理过期的数据truncate partition 分区名即可,直接降低高水平位的操作,不记录日志;
(3)高效的分区转换,在数据管理方面可以通过SLIP 和exchange命令实现普通表和分区表之间的数据轻松转换,高效的记录转移分区表,是Oracle内部修改数据字典的动作。
回复 支持 反对

使用道具 举报

论坛徽章:
2
scala徽章
日期:2014-11-06 14:55:37Excel徽章
日期:2017-02-23 15:57:21
 楼主| 发表于 2017-1-12 13:28 | 显示全部楼层
大家一起讨论下,各抒己见
回复 支持 反对

使用道具 举报

论坛徽章:
2
Oracle研习者初级
日期:2016-08-25 10:56:24nosql徽章
日期:2017-03-02 16:36:54
发表于 2017-1-12 13:41 | 显示全部楼层
减少成本,提高性能                                                            
回复 支持 反对

使用道具 举报

论坛徽章:
5
Oracle研习者初级
日期:2014-09-19 14:07:42Oracle研习者中级
日期:2016-06-02 10:27:16mysql徽章
日期:2016-07-14 11:09:49大型分布式徽章
日期:2017-02-16 16:49:55Mycat徽章
日期:2017-02-23 15:56:04
发表于 2017-1-12 14:42 | 显示全部楼层
有些分表功能其实可以用表分区来代替~~
回复 支持 反对

使用道具 举报

新浪微博达人勋 Aki
论坛徽章:
8
Oracle研习者高级
日期:2015-06-18 11:38:31JS课程徽章
日期:2016-11-10 15:45:52bash徽章
日期:2015-12-10 16:05:41Goldengate徽章
日期:2016-06-16 10:50:44Oracle研习者初级
日期:2015-07-16 10:46:51Oracle研习者初级
日期:2015-10-29 15:42:45Oracle研习者中级
日期:2016-06-08 14:21:38Oracle研习者初级
日期:2016-11-17 16:07:39
发表于 2017-1-14 22:13 | 显示全部楼层
主要就是解决数据量太大不好管理的问题吧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

数据中国

 

GMT+8, 2017-3-29 15:43 , Processed in 0.069512 second(s), 39 queries .

关闭

扫一扫加入
本版微信群