社区
Oracle 高级技术
帖子详情
急!分区表建在日期字段上,主键是其他字段,在每个分区上物理数据顺序是怎样?
abcyzq
2010-11-15 09:01:48
如题:
分区表建在日期字段上,主键是其他字段,在每个分区上物理数据顺序是这样排列的?
例如:
表A(
字段1 Guid ,--用于和其他表关联
字段2 主键,
字段3 Date --分区列)
我理解的是 分区列(字段3) 只是帮助定位到每个分区, 而在每个分区里是通过 主键字段(字段2) 物理排序存储的,请高手解惑,谢谢。
...全文
120
5
打赏
收藏
急!分区表建在日期字段上,主键是其他字段,在每个分区上物理数据顺序是怎样?
如题: 分区表建在日期字段上,主键是其他字段,在每个分区上物理数据顺序是这样排列的? 例如: 表A( 字段1 Guid ,--用于和其他表关联 字段2 主键, 字段3 Date --分区列) 我理解的是 分区列(字段3) 只是帮助定位到每个分区, 而在每个分区里是通过 主键字段(字段2) 物理排序存储的,请高手解惑,谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tangren
2010-11-15
打赏
举报
回复
oracle普通表都是堆表,物理存储是没有顺序之分的。
也就是说不是先插入表中的数据就先存放在前面,后插入数据就放在后面。
与主键和分区都没有关系。
真的不知道取什么名
2010-11-15
打赏
举报
回复
楼主这么理解应该也是没错的吧
duolanshizhe
2010-11-15
打赏
举报
回复
[Quote=引用 2 楼 yy_mm_dd 的回复:]
在每个分区上应该还是按照主键存储的。
[/Quote]
表中记录的物理存储顺序与分不分区无关,分区只不过是逻辑划分,当然底层存放到不同的数据文件了,
表中记录的物理顺序一般只与表的类型有关,如果是普通分区表的话,那就是随机的(就是常见的heap);如果是IOT(索引组织表),那表中的顺序就是按照主键顺序存放,因为索引是按照键值顺序存放的!
YY_MM_DD
2010-11-15
打赏
举报
回复
在每个分区上应该还是按照主键存储的。
Diza1986
2010-11-15
打赏
举报
回复
发了两个哇
帮顶
MySQL
分区
字段
列有必要再单独建索引吗?
前言 大家都知道对于
分区
字段
必须是
主键
的一部分,那么建了复合
主键
之后,是否需要对分许
字段
再单独添加一个索引呢?有没有效果?来验证一下,下面话不多说了,来一起看看详细的介绍吧。 1、新建表effect_new(以创建时间按月
分区
) CREATE TABLE `effect_new` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `type` tinyint(4) NOT NULL DEFAULT '0', `timezone` varchar(10) DEFAULT NULL, `date` varchar(10) NOT NULL, `ho
Oracle
数据
库设计策略及规范.docx
Oracle
数据
库设计策略及规范 设计策略及规范 1. 目的 定义Oracle
数据
库设计规范,作为
数据
库规划、设计、开发以及维护人员的技术参考资料。用以规范和指导相关人员的设计行为。 2. 概述 本文档根据Oracle
数据
库性能特点,描述对表、视图、存储过程、对象命名等方面的设计规范。 3. 基本策略 3.1 设计策略 分类拆分
数据
量大的表。 对于经常使用的表(如某些参数表或代码对照表),由于其使用频率很高,要尽量减少表中的记录数量。例如,银行的户主账表原来设计成一张表,虽然可以方便程序的设计与维护,但经过分析发现,由于
数据
量太大,会影响
数据
的迅速定位。如果将户主账表分别设计为活期户主账、定期户主账及对公户主账等,则可以大大提高查询效率。
分区
策略 在拥有数500行以上的表时,采用
分区
策略。 索引设计。 对于大的
数据
库表,合理的索引能够提高整个
数据
库的操作效率。在索引设计中,索引
字段
应挑选重复值较少的
字段
;在对建有复合索引的
字段
进行检索时,应注意按照复合索引
字段
建立的
顺序
进行。例如,如果对一个5万多条记录的流水表以
日期
和流水号为序建立复合索引,由于在该表中
日期
的重复值接近整个表的记录数,用流水号进行查询所用的时间接近3秒;而如果以流水号为索引
字段
建立索引进行相同的查询,所用时间不到1秒。因此在大型
数据
库设计中,只有进行合理的索引
字段
选择,才能有效提高整个
数据
库的操作效率。 有时候为了提高性能。减少表的关联,恰当的
数据
冗余是允许的。 索引对新增,删除,更新的性能影响比较大,对相关的表的索引使用要权衡 为表和索引建立不同的表空间,禁止在系统表空间中放入非核心oracle系统成分的对象, 确保
数据
表空间和索引表空间位于不同的磁盘磁盘驱动器上。 对于经常发生同时查询或频繁查询的表,最好把他放到不同的磁盘空间上 4. 逻辑设计规范 4.1 范式 如果没有性能上的原因,应该使用关系
数据
库理论,达到较高的范式,避免
数据
冗余。 如果在
数据
量上与性能上无特别要求,考虑到实现的方便性可以有适当的
数据
冗余,但基本上要达到3NF。 4.2 表设计 对于
数据
量比较大的表,根据表
数据
的属性进行
分区
,以得到较好的性能。如果表按某些
字段
进行增长,则采用按
字段
值范围进行范围
分区
;如果表按某个
字段
的几个关键值进行分布,则采用列表
分区
;对于静态表,则采用Hash
分区
或列表
分区
;在范围
分区
中,如果
数据
按某关键
字段
均衡分布,则采用子
分区
的复合
分区
方法。
每个
表均创建类型为Sequence的
主键
字段
。
每个
表中需含有如下几个基本
字段
:一个表的SEQ号,4个创建信息
字段
,5-8个备用
字段
,一个删除标记
字段
,最好还有一个行版本
字段
字段
名 类型 备注 业务SEQ号 整数型 作为表
主键
OBLIGATE1 字符型 备用
字段
OBLIGATE2 OBLIGATE3 OBLIGATE4 OBLIGATE5 CREATE_USER_ID VARCHAR 创建用户ID CREATE_DATETIME DATE 创建时间 LAST_UPDATE_USER_ID VARCHAR 更新用户ID LAST_UPDATE_DATETIME TIMESTAMP 更新时间 不要用Identify
字段
作为表的
主键
与其它表关联。 4.3 索引设计 常规OLTP应用,创建B-TREE索引,不创建位图索引。 不需要为小型
数据
表(<5000)创建索引。 给单个表创建的索引不超过5个,特别是海量交易类表。 索引条件查询结果记录,不超总记录的20%。 不要给固定选项的
字段
创建独立索引。 如只有'男,女'的性别
字段
;'是,否'的状态
字段
等,不要创建独立索引,位可以建立复合索引。 对于复合索引,索引
字段
顺序
比较关键,把查询频率比较高的
字段
排在索引组合的最前面。 索引放到独立的表空间,该表空间不需要REDO LOG。 含有外键约束的表的
字段
,必须有单独索引。如订单明细的表头外键。 5. 对象命名规范 5.1 一般规范 5.1.1 语言 命名使用英文单词,不使用复数。 Oracle
数据
库设计策略及规范全文共3页,当前为第1页。 英文单词使用同对象本身意义相对或相近的单词。选择最简单或最通用的单词。不能使用毫不相干的单词来命名。 Oracle
数据
库设计策略及规范全文共3页,当前为第1页。 当一个单词不能表达对象含义时,用词组组合,如果组合太长时,采用简写或缩写,缩写要基本能表达原单词的意义。 当出现对象名重名时,是不同类型对象时,加类型前缀或后缀以示区别。 禁止使用中文或拼音缩写进行命名 5.1.2 大小写 名称一律大写,以方便不同
数据
库移植,以及避免程序调用问题 5.1.3 单词分隔 命名的各单词之间使用下划线进行分隔。 命名的各单词之间不允许有空格存在 5.1.4 保留字 命名不允许使用SQL保留字。 5.1.5
Oracle
分区
表
(Partition Table)使用详解
本课程详细介绍了Oracle
数据
库的
分区
表
机制、
分区
表
应用场景、
分区
表
与
分区
索引类型/创建/维护操作、
分区
裁剪等,结合大量的案例程序,对Oracle
分区
表
的使用进行了详细的分析讲解。
MySQL
数据
库表
分区
注意事项大全【推荐】
表
分区
与
数据
库
分区
是不一样的那么碰到表
分区
使用时我们要注意一些什么事情呢,今天我们来看一篇关于MySQL
数据
库表
分区
注意事项的细节。 1、
分区
列索引约束 若表有primary key或unique key,则
分区
表
的
分区
列必须包含在primary key或unique key列表里,这是为了确保
主键
的效率,否则同一
主键
区的东西一个在A
分区
,一个在B
分区
,显然会比较麻烦。 2、各
分区
类型条件 range
每个
分区
包含那些
分区
表
达式的值位于一个给定的连续区间内的行。这些区间要连续且不能相互重叠 list只支持整形
字段
或返回整形数的表达式,
每个
分区
列表里的值列表必须整数 hash类型只支
某游戏
数据
分析的笔试题
1.需编写一段SQL创建一个qq用户档案表table_user,表结构如下:(需为
分区
表
) 列名 类型 长度 允许空 备注 Im_date bigint 8 否
日期
(
主键
,
分区
字段
) qq bigint qq号 age char 10 是 年龄 sex char 10 是 性别
Oracle 高级技术
3,491
社区成员
18,714
社区内容
发帖
与我相关
我的任务
Oracle 高级技术
Oracle 高级技术相关讨论专区
复制链接
扫一扫
分享
社区描述
Oracle 高级技术相关讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章