按上面的建表结果,2006年前的数据将存储在第一个分区part_01上,而2006年到2010年的交易数据将存储在第二个分区part_02上,2010年以后的记录存储在第三个分区part_03上。
(2)查询分区表记录:
SQL> select * from Ex07_NNN_test partition(part_01);
请给出运行结果载图:
观察与比较插入数据行与查询结果,思考:为什么会有这样结果?
从查询的结果可以看出,插入的数据已经根据交易时间范围存储在不同的分区中。这里是指定了分区的查询,当然也可以不指定分区,直接执行select * from Ex07_NNN_test查询全部记录。在也检索的数据量很大的时候,指定分区会大大提高检索速度。
(3)更新分区表的记录:
分别执行以下语句1和2,比较测试结果: 语句(1):
语句
(2)
这里试图将ID=1的记录中的item_description字段更新为“DESK”,当更新的时候指定了分区,而根据查询的记录不在该分区中时,将不会更新数据。
第一个语句指定了在第一个分区中更新记录,但是条件中限制交易ID为6,而查询全表,交易ID为6的记录在第三个分区中,这样该条语句将不会更新记录。
(4)删除分区表记录:
请删除了第二个分区part_02中的交易记录ID为4的一条记录。
请写出相应的语句并给出运行结果载图:
和更新数据相同,如果指定了分区,而条件中的数据又不在该分区中时,将不会删除任何数据。