关于oracle10g的表分区的几个问题!请帮忙!

dipingxian 2007-02-08 11:20:46
1.范围分区时,如果查询条件中包含了用作分区的列的值,那么是不是说我在sql语句中就无需指定分区了?也就是说,如果我在sql语句中不想指定任何分区的话,该如何做呢?
2.在建立分区表时,是否一定要将每个分区指定为不同的表空间?如果不指定,统一用一个的话,效率如何?
3.用范围-散列方式的复合分区方式,是否速度会比单一的范围分区好些?为何?

多谢了!
...全文
458 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
多壮志 2007-02-09
  • 打赏
  • 举报
回复
如果是Oracle9i2以上的版本,where条件如果限制了在一个分区之内,则自然不会去搜索其它的分区.指定了分区,自然比不指定来的好,这个是显而易见的,至少在绝大部分的情况下是这样的.
dipingxian 2007-02-09
  • 打赏
  • 举报
回复
指定和不指定分区的效率上有多大的差别?
manyroads 2007-02-09
  • 打赏
  • 举报
回复
分区的时候要指定用什么值来分区的,常见的有时间段
当你用时间段来查找的时候,oracle会自动查找where条件里面时间段所在分区的数据。
当然你也可以指定查哪些分区的数据。
manyroads 2007-02-08
  • 打赏
  • 举报
回复
mark
doer_ljy 2007-02-08
  • 打赏
  • 举报
回复
怎么说呢?
如果不写的话,应该是先全件取出记录,然后在通过where条件筛选。
这样的话,通俗点说执行到where的时候,表的全集已经被取出来了。还谈什么分区呢?
如果指定了分区,那么只取出指定分区的全部数据,oracle通过这个来有效的减少检索范围。
应该这样解释吧!
dipingxian 2007-02-08
  • 打赏
  • 举报
回复
例如根据时间字段进行分区,系统不会自动判断我输入的查询条件中的时间在哪些分区上吗?这个应该是做得到的吧,编码的时候指定分区就耦合的太紧了~~,哪位达人用过给证实一下~,主要是效率上
doer_ljy 2007-02-08
  • 打赏
  • 举报
回复
第一个没试过,好像不指定分区,不能使用分区吧!也就失去了使用分区的意义!
doer_ljy 2007-02-08
  • 打赏
  • 举报
回复
2.在建立分区表时,是否一定要将每个分区指定为不同的表空间?如果不指定,统一用一个的话,效率如何?
在建立分区时,如果使用的是hash的方式,不必对每个分区指定表空间,系统会循环利用你指定的表空间。这种方式的效率也不一定就比手动为每个分区指定表空间低。
3.用范围-散列方式的复合分区方式,是否速度会比单一的范围分区好些?为何?
不一定,使用哈西函数进行散列,你就不能手动定义那些数据应该存到那个分区去。删除和查询的时候,有可能会造成麻烦。我觉得还是需要根据需求,合理的使用分区策略。
dipingxian 2007-02-08
  • 打赏
  • 举报
回复
faint,oracle版面人气也太差了
dipingxian 2007-02-08
  • 打赏
  • 举报
回复
无人帮忙吗?

3,492

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧