数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

建立了分区表后如果访问表中数据


发布日期:2019年01月08日
 
建立了分区表后如果访问表中数据

Quote:

对一张表建立了分区后在访问表中数据时是如何操作的

answer:

普通表呢像一个小学生用的新华字典分区表呢像一套博士们辞海在同一个漂亮的盒子里面(表名)有若干本辞海分册(每一册就是一个分区了)

如果说检索一张普通表就像查新化字典检索分区表就像查辞海了具体而言呢又这么几种方式

) 因为你知道你查的内容只会出现在某些分册里面于是你很快的从辞海盒子里面取出你要的那个册子不加思索的翻到索引页根据索引页的指示你飞快的翻到你的目标页面取一本本册子呢就叫partition range[inlist] iterator找索引页当然就是index range scan如果你不找索引页准备翻完整本书的找那就是full table scan了如果你只找一本册子的那partition range iterator也就不必了

)你不知道你要查的内容在那本册子里?那你只好辛苦一点翻阅所有册子了这时你做的动作就叫partition range all 而对于每本册子言也许你会找索引页(index scan)也许你想翻遍全册(full table scan)

) 也许你发现一册册的打开索引页找内容太繁重了你突然想起来对你的辞海做个整改于是你把每册的索引页全都拆了下来专门装订成一册每次你想利用索引页找东西时你就打开这个索引册从索引册你就可以找到你要内容在哪一册哪个地方这就是global index scan 相对于就叫local index scan

) 你有儿子吗?有一天你想培训儿子的能力于是你就找来你儿子给你翻册子找资料可是你儿子非得和老子一起找才肯帮你于是你们父子俩就开始一起检索起辞海来你查某些册子他查另一些册子这就叫partition scan

Quote:

如果建立了分区后在一个查询中又没用到分区时的条件时他的操作和没用分区时的操作有何不同?

有不同成本会高一点前者是partition range all 必须一本册子一本册子查过了后者就查一个册子了但是前者并不定会比后者慢因为前都可以用partition scan

               

上一篇:四项准备工作,提高数据库开发效果

下一篇:Oracle高层将在下周三公布Sun路线图