为什么要使用表分区:
在实际开发中,往往一个表里的数据量特别大。上百万千万的数量级。如果将这些数据放在一个物理文件内(就是表的物理存储文件)实在太大了。我们就可以使用表分区。
比如说我把表中数据有“姓名,身份证号”的放在一个物理文件内,其它的放在另外物理文件内。这样,虽然这仍然是一张表内的数据,但是在物理结构上是分开的。
分区有2中方式,一种是按行分区。比如前一万行分一个区,后一万行分一个区。
第二种是按字段分区。这个也容易理解。
Oracle的结构是:数据块->区->段->表空间。以此为包含关系。表空间中一个表(没有分区)就用一个段来存储数据(实际上总共有4个段来存储这个表,其中一个段是数据段,就是你所问的专门储存表数据的段,其它三个段有别的用处,你可以自己查下)。而分区的表在每个分区都有个独立的数据段很容易理解。每个分区都有表的数据,肯定每个分区都要有个数据段储存数据啊
如何分区主要有如下的方式:
range +hash 分区方式
用EXP/IMP方式
在线重定义
等
不过最好是根据业务进行分区