惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

宝玉的分享
宝玉的分享
NISL@THU
NISL@THU
E
Exploit-DB.com RSS Feed
L
LINUX DO - 热门话题
L
Lohrmann on Cybersecurity
K
Kaspersky official blog
Project Zero
Project Zero
Cisco Talos Blog
Cisco Talos Blog
T
The Exploit Database - CXSecurity.com
P
Palo Alto Networks Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threatpost
S
Schneier on Security
G
GRAHAM CLULEY
The Hacker News
The Hacker News
T
Threat Research - Cisco Blogs
Scott Helme
Scott Helme
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Privacy & Cybersecurity Law Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Cyberwarzone
Cyberwarzone
C
CERT Recently Published Vulnerability Notes
T
Tor Project blog
AWS News Blog
AWS News Blog
Simon Willison's Weblog
Simon Willison's Weblog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
爱范儿
爱范儿
P
Privacy International News Feed
云风的 BLOG
云风的 BLOG
P
Proofpoint News Feed
S
Securelist
G
Google Developers Blog
The Last Watchdog
The Last Watchdog
Google Online Security Blog
Google Online Security Blog
美团技术团队
F
Fortinet All Blogs
小众软件
小众软件
Recorded Future
Recorded Future
V
Visual Studio Blog
B
Blog RSS Feed
H
Help Net Security
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Google DeepMind News
Google DeepMind News
Blog — PlanetScale
Blog — PlanetScale
博客园 - 聂微东
Stack Overflow Blog
Stack Overflow Blog
Martin Fowler
Martin Fowler
Latest news
Latest news
Spread Privacy
Spread Privacy
H
Heimdal Security Blog

博客园 - liuqun

oracle优化7(如何干预执行计划 - hints) oracle优化6(使用sql_trace/10046事件进行数据库诊断) oracle优化5(用索引提高效率) oracle优化4(sql语句性能诊断,sql执行计划) oracle优化3(访问Table的方式) oracle优化2(选用适合的ORACLE优化器) oracle优化1(数据库、数据表、数据表I/O优化原则) Oracle常用命令14(.net / java代码调用(sql代码、程序包过程)) Oracle常用命令13(数据库的启动、关闭) Oracle常用命令12(导入:imp、导出:exp) Oracle常用命令11(触发器) Oracle常用命令10(程序包) Oracle常用命令9(函数) Oracle常用命令8(过程) Oracle常用命令7(游标) Oracle常用命令6(PL/SQL) Oracle常用命令5(同义词、视图、索引) Oracle常用命令3(DDL、DML、TCL、DCL、序列) Oracle常用命令2(用户、角色管理)
Oracle常用命令4(表分区)
liuqun · 2011-03-29 · via 博客园 - liuqun

表分区:范围分区、散列分区、列表分区、复合分区

范围分区:

PARTITION BY RANGE (column_name)

(

  PARTITION part1 VALUE LESS THAN(range1),

  PARTITION part2 VALUE LESS THAN(range2),

  ...

  [PARTITION partN VALUE LESS THAN(MAXVALUE)]

);

查询分区的数据:

Select * from partition(表分区名)

1

--创建商品表(商品编号、类别编号、名称、销售价、会员价、库存数量)

create table product(p_id number(4) primary key,

                   c_id number(4) not null,

                      p_name varchar2(10) not null,

                      p_price number(6,2)not null,

                      p_userprice number(6,2)not null,

                      p_quantity number(5) not null)

                      partition by range(p_id)

                           (partition p_product_1 values less than (1000),

                             partition p_product_2 values less than (5000),

                             partition p_product_3 values less than (maxvalue));

--创建序列

Create sequence seq_product start with 1 increment by 1;

--插入测试数据

insert into product values( seq_product.nextval, 1, 'java web', 15, 14, 10 );

--说明:插入的数据,一定要在表分区范围内的数据

insert into product values( seq_product.nextval, 1, 'java oop', 25, 24, 10 );

--查看某个表分区下的数据

select * from product partition(p_product_1);

2

--创建订单信息表(定单编号、用户编号、定单日期、总金额、收货人姓名、收货人电话、收货人地址)

create table orderTab(o_id number(4) primary key,

                   u_id number(4) not null,

                      o_date date not null,

                      o_money number(7,2) not null,

                      u_name varchar2(10) not null,

                      u_address varchar2(50),

                      u_tel varchar2(13))

                      partition by range(o_date)

                                  (partition p_order_1 values less than ( to_date('2010-08-01','YYYY-MM-DD') ),

                                   partition p_order_2 values  less than ( to_date('2010-09-01','YYYY-MM-DD')),

                                   partition p_order_3 values  less than ( to_date('2010-10-01','YYYY-MM-DD') ),

                                   partition p_order_5 values  less than ( to_date('2011-04-01','YYYY-MM-DD') )

                                   );

--创建序列

Create sequence seq_order start with 1 increment by 1;

--插入测试数据

insert into orderTab values( seq_order.nextval, 1, sysdate, 100, 'user1', '湖南长沙','13812345678' );

--根据月份,增加表分区

ALTER TABLE orderTab ADD PARTITION p_order4 VALUES LESS THAN (to_date('2010-11-01','YYYY-MM-DD'));

--删除表分区

ALTER TABLE orderTab DROP PARTITION P4;

--截断表分区

ALTER TABLE orderTab TRUNCATE PARTITION P4;

列表分区:

PARTITION BY LIST (column_name)

(

  PARTITION part1 VALUES (values_list1),

  PARTITION part2 VALUES (values_list2),

  ...

  PARTITION partN VALUES (DEFAULT)

);

散列分区:

PARTITION BY HASH (column_name)

PARTITIONS number_of_partitions;

PARTITION BY HASH (column_name)

( PARTITION part1 [TABLESPACE tbs1],

  PARTITION part2 [TABLESPACE tbs2],

  ...

  PARTITION partN [TABLESPACE tbsN]);

复合分区:

PARTITION BY RANGE (column_name1)

SUBPARTITION BY HASH (column_name2)

SUBPARTITIONS number_of_partitions

(

  PARTITION part1 VALUE LESS THAN(range1),

  PARTITION part2 VALUE LESS THAN(range2),

  ...

  PARTITION partN VALUE LESS THAN(MAXVALUE)

);