社区
Oracle 高级技术
帖子详情
在同一块磁盘上作分区表有意义么?
xyzhh
2006-07-05 02:50:40
如果把一张大表的数据分散到各个磁盘上做一个分区表是能增强它的i/o;
但是现在我们往往将几个磁盘做成一个raid,表已经分散到各个磁盘上了。从操作系统上来看,它是一整块磁盘,这个时候如果我们在上面将表做成分区表还有意义么?如果有,那么他将怎样提升哪一块儿的性能?
...全文
391
12
打赏
收藏
在同一块磁盘上作分区表有意义么?
如果把一张大表的数据分散到各个磁盘上做一个分区表是能增强它的i/o; 但是现在我们往往将几个磁盘做成一个raid,表已经分散到各个磁盘上了。从操作系统上来看,它是一整块磁盘,这个时候如果我们在上面将表做成分区表还有意义么?如果有,那么他将怎样提升哪一块儿的性能?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xyzhh
2006-07-17
打赏
举报
回复
怎样才算用上了分区?
vc555
2006-07-14
打赏
举报
回复
你的第一个执行计划怎么看不出用上了分区?
xyzhh
2006-07-14
打赏
举报
回复
我做的实验,好像大部分都是未分区的表快。难道分区仅仅只是维护方便么?
xyzhh
2006-07-13
打赏
举报
回复
顶!
xyzhh
2006-07-11
打赏
举报
回复
看一下我对两张表跟踪的例子:
dvd_list_new:一张普通的表
dvd_list_part:一张按月分区的表(索引未分区)
两张表数据都一样,都是使用insert into .. select * from ....,这样防止碎片。
执行
select count(*) from dvd_list_part where time>'20060601000000' and time <'20060631000000';
结果
COUNT(*)
----------
2149656
Elapsed: 00:00:01.11
Execution Plan
----------------------------------------------------------
Plan hash value: 3756034816
-----------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-----------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 15 | 7822 (2)| 00:01:34 |
| 1 | SORT AGGREGATE | | 1 | 15 | | |
|* 2 | INDEX FAST FULL SCAN| INDEX_TIME_PART | 2141K| 30M| 7822 (2)| 00:01:34 |
-----------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - filter("TIME"<'20060631000000' AND "TIME">'20060601000000')
Statistics
----------------------------------------------------------
1 recursive calls
0 db block gets
35238 consistent gets
0 physical reads
0 redo size
518 bytes sent via SQL*Net to client
468 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
执行
select count(*) from dvd_list_new where time>'20060601000000' and time <'20060631000000';
结果
COUNT(*)
----------
2149656
Elapsed: 00:00:00.82
Execution Plan
----------------------------------------------------------
Plan hash value: 2838380510
----------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 15 | 5100 (2)| 00:01:02 |
| 1 | SORT AGGREGATE | | 1 | 15 | | |
|* 2 | INDEX FAST FULL SCAN| INDEX_TIME_NEW | 2126K| 30M| 5100 (2)| 00:01:02 |
----------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - filter("TIME">'20060601000000' AND "TIME"<'20060631000000')
Statistics
----------------------------------------------------------
1 recursive calls
0 db block gets
24143 consistent gets
0 physical reads
0 redo size
518 bytes sent via SQL*Net to client
468 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
可以看到分区表的逻辑读('consistent gets' + 'db block gets')比未分区的多得多。这样只能得出一个结论,就是分区后要慢。
为什么?
多壮志
2006-07-11
打赏
举报
回复
笨猫一只说的是没有错的.. r5通常是存储性能、数据安全和存储成本兼顾的存储解决方案..你无法指定分区放再哪个磁盘..因为这个方案不提供这个..
分区的本意就是在于可以缩小查询范围,,对没个范围的数据进行单独管理..这个就是分区的目的..
所以他们是可以提高效率的..
xyzhh
2006-07-11
打赏
举报
回复
那么分区该怎么考率呢?不要简单地告诉我“分区比较快,因为只在某个区查询”。我想知道他在什么情况下快,为什么会比索引快。从原理上考虑!
fjmingyang
2006-07-07
打赏
举报
回复
索引也是可以分区的
goldarcher2005
2006-07-07
打赏
举报
回复
分区和分磁盘是2件事,从2个角度考虑
xyzhh
2006-07-06
打赏
举报
回复
可是如果我们使用索引的话,也不是查询所有的数据块,而是根据索引只查其中的一部分。
在你决定在哪个分区前,还需要判断数据是否在[a,b]之内。这和在索引的B树上走两个节点不会有太多的时间差别吧。
xiaoxiao1984
2006-07-05
打赏
举报
回复
补充一下:查询 [a,b]之间的数据的时候只查询分区1
xiaoxiao1984
2006-07-05
打赏
举报
回复
分区还可以提高查询的性能,例如分区的时候定义的时 [a,b]之间的数据在分区1上,那么在查询的时候只会查询分区1上的数据,而不会查询其他分区
硬盘
分区表
修复神器:PTDD
分区表
医生
本文还有配套的精品资源,点击获取 简介:PTDD
分区表
医生是一款专为硬盘
分区表
问题设计的高效工具,适用于数据恢复和
磁盘
管理。通过绿色免安装的方式,它提供了检查
分区表
错误、修复损坏的
分区表
、创建
分区表
备份以及恢复已丢失分区等多项功能。软件支持多种硬盘接口和分区格式,确保用户能够安全快捷地解决问题,防止数据丢失。 1. 硬盘
分区表
的重要性与问题影响 1.1 硬盘...
硬盘
分区表
简介
毫无疑问,大多数人都有过对硬盘分区的经验。
一块
刚买来的新硬盘,必须要经过分区之后才能使用。但是具体的分区信息在硬盘上是怎么存储的呢?分区后的硬盘上有一个重要的数据结构,叫做硬盘
分区表
。这个数据结构就是保存分区信息的地方。一般来说,硬盘
分区表
的第一部分(主
分区表
)位于硬盘的第一个扇区(主引导记录)中。占据这个扇区的第446-510个字节。这是一个4个元素的数组,每一项代表
Android下
磁盘
分区表
损坏,
磁盘
分区表
是什么出现故障怎么修复
硬盘
分区表
可以说是支持硬盘正常工作的骨架。操作系统正是通过它把硬盘划分为若干个分区,然后再在每个分区里面创建文件系统,写入数据文件,有时出现
分区表
故障,
分区表
固然可以重建,但却意味着存放在硬盘上的文件将一下子全部消失。具体怎么修复呢?
磁盘
分区表
修复方法以下文章以 PE系统 → DiskGenius 软件为例。1、将制作好的u深度u盘启动盘插入电脑接口,开机按快捷键进入主菜单界面,选择“【05】Di...
磁盘
分区类型和
分区表
的区别
任务1 罗列
磁盘
分区的类型并做比较性介绍 分类: FAT16、FAT32、NTFS、EXT2、EXT3、EXT4 FAT16:
磁盘
分区最大只能到2GB、 使用簇的大小不恰当、 FAT16使用了16位的空间来表示每个扇区 文件名长度有限制 FAT32: 相比FAT16 会拥有更多的簇,更大空间 容量上限为16TB 根目录区(ROOT区)不再是固定区域、固定大小 速度和FAT16一样快,对大
磁盘
利用率比FAT16好 文件名长度有限制 NTFS: 备3个功能:错误预警功能、
磁盘
自我修复功能和日志功能 安全性,
guid备份
分区表
crc错误_硬盘GPT和MBR
分区表
转换方法
随着硬盘容量越来越大,传统的MBR硬盘分区模式已经不能满足发展需要,预装win8或win10系统的硬盘默认都是GPT
分区表
(GUID格式),GPT识别2T以上的硬盘以及UEFI启动模式。不过在对系统进行重装时,经常会遇到无法安装在GPT或MBR硬盘中的问题,那么这个时候就需要对硬盘的
分区表
进行转换,下面小编跟大家分享两种方法来实现GPT和MBR之间转换。注意事项:1、
分区表
转换是针对整块硬盘,
一块
...
Oracle 高级技术
3,495
社区成员
18,710
社区内容
发帖
与我相关
我的任务
Oracle 高级技术
Oracle 高级技术相关讨论专区
复制链接
扫一扫
分享
社区描述
Oracle 高级技术相关讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章