分区表

oracle表分区

Deadly 提交于 2020-03-21 23:11:51
--先创建表,分别分区,指定表空间,添加子分区 create table WID_EVT_INS_FIX_BEH_MON ( serv_id NUMBER(12), acc_nbr VARCHAR2(31), local_call_dur NUMBER, local_bill_dur NUMBER, local_call_cnt NUMBER, inner_rgn_call_dur NUMBER, inner_rgn_bill_dur NUMBER, inner_rgn_call_cnt NUMBER, inter_rgn_call_dur NUMBER, inter_rgn_bill_dur NUMBER, inter_rgn_call_cnt NUMBER, ip_accs_call_dur NUMBER, ip_accs_bill_dur NUMBER, ip_accs_call_cnt NUMBER, inner_long_trd_call_dur NUMBER, inner_long_trd_bill_dur NUMBER, inner_long_trd_call_cnt NUMBER, gat_long_trd_call_dur NUMBER, gat_long_trd_bill_dur NUMBER, gat_long_trd_call_cnt NUMBER,

达梦普通表转成分区表

六眼飞鱼酱① 提交于 2020-03-21 22:01:09
1.创建测试表: SQL> create table test (id int,name varchar(20)); SQL> begin for i in 1..10000 loop insert into test values (i,'aa'||i); commit; end loop; end; / 2.导出数据: [dmdba@localhost ~]$ dexp sysdba/SYSDBA file=/dm7/test.dmp tables=test 3.删除非分区表: SQL> drop table test; 4.创建分区表: create table test ( id int, name varchar(20) ) partition by range (id)( partition p1 values less than (200), partition p2 values less than (400), partition p3 values less than (600), partition p4 values less than (maxvalue) ) ; 5.导入数据: [dmdba@localhost ~]$ dimp sysdba/SYSDBA file=/dm7/test.dmp tables=test ignore=y 来源: 51CTO

分区表理论解析

邮差的信 提交于 2020-03-21 06:37:35
在谈论分区表这个话题之前,先和大家分享一个案例: 2008 年秋天的某天,我的团队接到成都市 XX 局一个 SQL 调优的 ESS 单子。客户反映查询统计一次各地市局上报的数据汇总,需要 6 到 15 秒才能获得真正想要的数据,当我和销售人员赶到客户数据中心现场后,发现里面布置了很多柜式服务器,每台服务器都是 8 核 16G 内存。和相关技术负责人沟通以及演示业务系统之后,可以肯定不是服务器性能的问题,我详细分析了他们的数据库,统计慢的几张表往往一周的上报数据便会增加 1 百多万行,导致他们这个系统刚上线没多久,某些表产生的数据已经在 2000 万行以上,最终我提出了优化方案,业务逻辑层采用存储过程代替普通的 SQL 语句,并启用相关开发平台的缓存技术;数据库系统中采用增强索引和规划分区表进行优化,最终问题解决。 事实上数据库性能优化是每个优秀的数据库工程师必须具备的素质之一,而这一节讨论的分区表便是性能调优的一种技术。在企业级应用系统中,一个表存储 2 千万行的数据很常见,不可预期的数据也会在逐渐增长,所以数千万级别的表 DBA 会常常碰到,而 TB 级别的数据最终也在所难免,因此了解和掌握性能调优的 18 般兵器非常重要。 我计划用三篇博文介绍分区表这个主题,分别为: 1, 分区表理论解析 2, 实战分区表 3, 分区表前传 大凡在应用系统和数据库系统中行走江湖多年的朋友

Oracl基础知识(一)

故事扮演 提交于 2020-03-20 07:42:49
概述   Oracle功能繁多,接触Oracle不深,将接触到的基础知识整理下来,以便不时之需。整理的内容主要有Expdp指令实现数据库备份,Impdp指令实现数据库还原,以及用户、表空间的定义。整理的数据来源多为网上优秀的博客和论坛,内容如有相同之处,纯属转载。 Expdp指令数据备份导出    expdp工具导出的方式有很多种,使用方便,直接在CMD命令行中输入导出指令即可,这里仅仅介绍按用户名导出数据库文件。如果是普通用户进行数据导出和导入时候,需要授权用户读写目录权限:   最好以system等管理员赋予: grant read,write on directory dpdata1 to scott;   1、导出指令格式:        A、导出全部数据库格式 :               [expdp 用户名/密码 dumpfile=导出文件名.dmp directory=文件目录];      B、导出指定表空间 :               [expdp 用户名/密码@SID名称 dumpfile=导出文件名.dmp directory=文件目录 TABLESPACES=表空间A,表空间B];               (备注:该导出方式包括表空间和用户,所以还原数据的时候,需要对应的表空间和用户)      C、导出指定用户的数据 :            

oracle表按日期分区创建、新增、修改、删除

情到浓时终转凉″ 提交于 2020-03-19 00:34:54
Oracle11G分区表   当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时,不至于每次都扫描整张表。 作用:   Oracle的表分区功能通过改善可管理性、性能和可用性,从而为各式应用程序带来了极大的好处。通常,分区可以使某些查询以及维护操作的性能大大提高。此外,分区还可以极大简化常见的管理任务,分区是构建千兆字节数据系统或超高可用性系统的关键工具。   分区功能能够将表、索引或索引组织表进一步细分为段,这些数据库对象的段叫做分区。每个分区有自己的名称,还可以选择自己的存储特性。从数据库管理员的角度来看,一个分区后的对象具有多个段,这些段既可进行集体管理,也可单独管理,这就使数据库管理员在管理分区后的对象时有相当大的灵活性。但是,从应用程序的角度来看,分区后的表与非分区表完全相同,使用 SQL DML 命令访问分区后的表时,无需任何修改。 什么时候用:   1、表的大小超过2GB。   2、表中包含历史数据,新的数据被增加都新的分区中。 优点:   1、改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索速度。   2、增强可用性:如果表的某个分区出现故障,表在其他分区的数据仍然可用;   3、维护方便

Atitit.分区对索引的影响 分区索引和全局索引 attilax总结

拟墨画扇 提交于 2020-03-18 20:07:08
Atitit. 分区对索引的影响 分区索引和全局索引 attilax 总结 1 . 分区的好处 1 2 . 分区键: 2 3 . 分区的建议: 2 4 . 分区索引和全局索引: 2 5 . 全局索引就是在全表上创建索引, 3 6 . 总结 4 7 . refer 4 1. 分区的好处 在一个表的数据超过过2000万条或占用2G空间时,建议建立分区表 分区使得数据管理操作如数据装载、索引建立和重建、备份和恢复等在分区级别上完成,这比在表级完成操作要明显的节省时间; 分区可以提高性能,在很多情况下,查询可以通过扫描某个分区来完成,而不是去扫描整个表; 根据查询条件自动将扫描范围缩小到一个或几个表(索引)分区上。这种方式其实是分区扫描替代了全表扫描。 如果连接查询的两张表都在连接列上进行分区,则 会优化连接操作,将一个大的连接分成各个对应分区间的连接,而且这些分区连接操作还可以并行执行。 并行DML:采用并行执行,可以使操作并行在各个分区上同时执行,从而提供执行效率。 2. 分区键: 分区表中的每条记录都唯一的属于一个分区,分区键就是确定一条记录属于哪个分区的一列或多个列。 分区键可以由1~16列组成,可以包含空值,不能包含ROWID、LEVEL或MLSLABEL等伪列 3. 分区的建议: 表的大小超过2G就可以考虑是否分区; 包含历史数据的表。这种表一般采用时间字段的范围分区

Oracle分区表常用命令

老子叫甜甜 提交于 2020-03-18 19:39:52
一、Oracle分区简介 ORACLE的分区是一种处理超大型表、索引等的技术。分区是一种“分而治之”的技术,通过将大表和索引分成可以管理的小块,从而避免了对每个表作为一个大的、单独的对象进行管理,为大量数据提供了可伸缩的性能。分区通过将操作分配给更小的存储单元,减少了需要进行管理操作的时间,并通过增强的并行处理提高了性能,通过屏蔽故障数据的分区,还增加了可用性。 二、Oracle分区优缺点 ? 优点: 增强可用性:如果表的某个分区出现故障,表在其他分区的数据仍然可用; 维护方便:如果表的某个分区出现故障,需要修复数据,只修复该分区即可; 均衡I/O:可以把不同的分区映射到磁盘以平衡I/O,改善整个系统性能; 改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索速度。 ? 缺点: 分区表相关:已经存在的表没有方法可以直接转化为分区表。不过 Oracle 提供了在线重定义表的功能。 三、Oracle分区方法 ? 范围分区: 范围分区就是对数据表中的某个值的范围进行分区,根据某个值的范围,决定将该数据存储在哪个分区上。如根据序号分区,根据业务记录的创建日期进行分区等。 ? Hash分区(散列分区): 散列分区为通过指定分区编号来均匀分布数据的一种分区类型,因为通过在I/O设备上进行散列分区,使得这些分区大小一致。 ? List分区(列表分区):

Oracle 分区表 总结

浪尽此生 提交于 2020-03-18 19:36:45
一 . 分区表理论知识 Oracle 提供了分区技术以支持 VLDB(Very Large DataBase) 。分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中。分区完全对应用透明。 Oracle 的分区表可以包括多个分区, 每个分区都是一个独立的段( SEGMENT ),可以存放到不同的表空间中 。查询时可以通过查询表来访问各个分区中的数据,也可以通过在查询时直接指定分区的方法来进行查询。 When to Partition a Table 什么时候需要分区表,官网的 2 个建议如下: ( 1 ) Tables greater than 2GB should always be considered for partitioning. ( 2 ) Tables containing historical data, in which new data is added into the newest partition. A typical example is a historical table where only the current month's data is updatable and the other 11 months are read only. 在 oracle 10g 中最多支持: 1024k-1 个分区: Tables can be

Oracle 分区表 总结

微笑、不失礼 提交于 2020-03-18 19:35:48
v Oracle 分区表 总结 分类: Oracle Advanced Knowledge 2009-10-23 11:38 10094人阅读 评论 (12) 收藏 举报 一 . 分区表理论知识 Oracle 提供了分区技术以支持 VLDB(Very Large DataBase) 。分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中。分区完全对应用透明。 Oracle 的分区表可以包括多个分区, 每个分区都是一个独立的段( SEGMENT ),可以存放到不同的表空间中 。查询时可以通过查询表来访问各个分区中的数据,也可以通过在查询时直接指定分区的方法来进行查询。 When to Partition a Table 什么时候需要分区表,官网的 2 个建议如下: ( 1 ) Tables greater than 2GB should always be considered for partitioning. ( 2 ) Tables containing historical data, in which new data is added into the newest partition. A typical example is a historical table where only the current month's data is updatable

Oracle 分区表 总结

天大地大妈咪最大 提交于 2020-03-18 19:34:35
一 . 分区表理论知识 Oracle 提供了分区技术以支持 VLDB(Very Large DataBase) 。分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中。分区完全对应用透明。 Oracle 的分区表可以包括多个分区, 每个分区都是一个独立的段( SEGMENT ),可以存放到不同的表空间中 。查询时可以通过查询表来访问各个分区中的数据,也可以通过在查询时直接指定分区的方法来进行查询。 When to Partition a Table 什么时候需要分区表,官网的 2 个建议如下: ( 1 ) Tables greater than 2GB should always be considered for partitioning. ( 2 ) Tables containing historical data, in which new data is added into the newest partition. A typical example is a historical table where only the current month's data is updatable and the other 11 months are read only. 在 oracle 10g 中最多支持: 1024k-1 个分区: Tables can be