分区系列篇: 关于oracle分区技术--初了解 http://blog.csdn.net/wanghui5767260/article/details/39158873 关于分区技术的索引: http://blog.csdn.net/wanghui5767260/article/details/39181027 关于分区技术---索引 Index 一、 分区索引分类: 本地前缀分
分区系列篇:
关于oracle分区技术--初了解 http://blog.csdn.net/wanghui5767260/article/details/39158873
关于分区技术的索引: http://blog.csdn.net/wanghui5767260/article/details/39181027
关于分区技术---索引 Index
一、 分区索引分类:
本地前缀分区索引(local prefixedpartitioned index)
全局分区索引(global partitionedindex)
本地非前缀分区索引(localnon-prefixed partitioned index)
1.1 表和索引的组合:
第一种:表和索引都不分区
最简单的方式 就是常见的索引
第二种:表分区了,但索引没分区
这导致了:“我们已经做了分区表了,怎么性能没有提高?”的主要原因之一。
在很多系统中,特别是交易系统里面,是通过索引访问数据库的。如果索引没有分区,索引树的高度没有变,因此访问性能当然没有提高。如果按索引访问表,与表是否分区关系不大。
第三种:表没有分区,但索引分区了
索引只能是全局分区索引。
第四种:表分区了,索引也分区了(重点!!!)
全局分区索引
本地前缀分区索引
二、 具体介绍分区索引
本地分区索引
是指索引的分区方法与对应表的分区方法一样。
2.1本地前缀分区索引(local prefixed partitioned index)
是指分区字段是索引字段的前缀。
一张交易流水表(TXN_CURRENT),并且以交易日期字段(TXN_DATE)按年度进行了范围分区。在TXN_DATE 字段创建索引。
Createindex idx_txn_current_1 on txn_current(txn_date) local;
或者复合分区索引
Createindex idx_txn_current_2 on txn_current(txn_date,area) local;
好处:
a. 由于分区索引和表分区对应,因此查询数据直接到对应的索引分区去查询,索引树的高度肯定低于非分区情况下的那棵大索引树了,也就是说性能更高了。
b. 当某个分区进行删除(DROP)或合并(MERGE)操作之后,oracle自动对所对应的索引分区进行相同的操作,整个本地前缀索引依然有效,不需要重建(rebuild)操作,这样大大保障了表的可用性。
2.2 全局分区索引(global partitioned index)
索引的分区与表分区无关
分区表按年份进行分区,在地区(AREA)字段上建立分区索引,
也就是说:杭州交易数据肯定可分布在各年份,湖州、嘉兴交易数据同样如此。
假如有这样的查询需求:
Select* from TXN_CURRENT where area=’05711001’;
--假设查询杭州西湖区
好处:
a. 此时oracle会很聪明地知道杭州的分区索引树上去检索,索引高度肯定低于非分区情况下的大索引树了,也就是性能更高了。
b. 在分区粒度比较细的情况下,性能甚至高于本地前缀分区索引。
不足:
a. 主要体现在高可用方面。如果该表的03年数据通过分区删除全部删除了。则全局分区索引(包括普通非分区索引)则全部失效(INVALID),这些索引不可用了,除非重建(rebuild)操作。数据量越大,索引量也越大,重建索引时间也越长,无法通过该类索引访问数据的时间也越长。因此,大大降低数据的可访问性。
2.3 本地非前缀分区索引
可能导致性能会下降的情况,本地非前缀分区索引的性能可能还不如不分区。
优点:
a. 提高按索引访问的可用性!我们假设要通过删除分区技术,进行03年数据的清理,如果area字段索引建立成普通索引,或者是全局分区索引,都会面临一个问题:在分区删除(DROP)操作之后,普通索引和全局分区索引都会失效(INVALID),必须重建。而本地非前缀分区索引的好处在于,在分区删除操作后,该本地非前缀分区索引依然有效。
三、 整理思路
理解分区索引藏宝图:

描述藏宝图:找宝藏
(1)如果表分区字段正好是索引字段或者是其前缀。例如:上述TXN_CURRENT 表分区字段是TXN_DATE,则TXN_DATE正好是索引字段(TXN_DATE),或者正好是索引字段(TXN_DATE,AREA)的前缀,则此时应建立local profixedpartitioned index.
(2)否则,如果欲将非分区字段建立为唯一索引,例如:假设在TXN_CURRENT 表的某个字段建立唯一索引,oracle要求必须global prefixed index.
否则报错:
ORA-14039:partitioning columns must form a subset of key columns of a UNIQUE index
(3)流程图再往下,此时要判断“是否性能在可承受范围,而分区的管理性、可用性更重要?”。如果是,就应建立local non-profixed index。也就是上面所描述的:如果历史数据的整理非常频繁,而且不能承受全局分区索引重建的长时间带来的索引不可用,同时日常交易性能尚能接受,则建议设计为本地非前缀分区索引。
(4)流程图再往下,最后判断系统是否为交易系统或者是数据仓库系统。因为通常情况下,数据仓库会有频繁的大批量数据导入(ETL)操作,以及历史数据清理操作,此时分区索引可用性更重要,因此建议设计为Localnon-profixed index 。而在交易系统中,日常查询性能要求更高,历史数据清理操作频度相对较低,因此建议设计为global profixed index。
注:oracle没有global non-profixed index概念。
四、 分区表设计建议 只是建议:更多看实际!!!
(1) 表的大小:当表的大小超过1.5G—2GB时,或对于OLTP系统,表的记录超过1000万条时,都应考虑对表进行分区。
(2) 数据访问特征:基于表的大部分查询应用,只访问表中的少量数据。对于这样的表进行分区,可充分利用分区技术排除无关数据查询的特征。
(3) 数据维护:按时间段删除成批的数据,例如按月删除历史数据。对于这样的表需要考虑进行分区,以满足维护的需求。
(4) 数据备份和恢复:按时间周期进行表空间的备份时,在分区与表空间之间建立起对应关系。
(5) 只读数据:如果一个表中的大部分数据都是只读数据,通过对表进行分区,可将只读数据存储在只读表空间中,对于数据库的备是非常有益的。
(6) 并行数据操作:对于经常执行并行操作(如parallelinsert、parallel update等)的表应考虑进行分区。
(7) 表的可用性:当对表中部分数据的可用性要求很高时,应考虑进行表分区。

在更新了win11后有些用户遇到了无法更新系统保留的分区,导致没法使用下载更多的新软件,所以今天就给你们带来了win11无法更新系统保留的分区解决方法,赶快来一起下载试试吧。win11无法更新系统保留的分区怎么办:1、首先右击下方的开始菜单按键。2、然后右击菜单点击运行。3、在运行中输入:diskmgmt.msc回车。4、之后可以进入系统磁盘,查看EFI系通分区,查看空间是否小于300M。5、如果太小可以下载工具将系统预留分区改成大于300MB建议450M即可。

fdisk是一个常用的Linux命令行工具,用于创建、管理和修改磁盘分区。以下是一些常用的fdisk命令:显示磁盘分区信息:fdisk-l该命令将显示系统中所有磁盘的分区信息。选择要操作的磁盘:fdisk/dev/sdX将/dev/sdX替换为要操作的实际磁盘设备名称,如/dev/sda。创建新分区:n这将引导您创建一个新的分区。按照提示输入分区类型、起始扇区、大小等信息。删除分区:d这将引导您选择要删除的分区。按照提示选择要删除的分区编号。修改分区类型:t这将引导您选择要修改类型的分区。按照提

我们再重装win10操作系统的时候,到了磁盘分区的步骤却发现出现系统提示无法创建新的分区也找不到现有分区。对于这种情况小编觉得可以尝试将整个硬盘重新进行格式化再次安装系统进行分区,或者通过软件重新进行系统安装等等。具体内容就来看看小编是怎么做的吧~希望可以帮助到你。安装win10无法创建新的分区怎么办方法一:格式化整个硬盘重新分区或尝试插拔U盘几次并刷新,如果你的硬盘上没有重要数据的话,到了分区这一步时,将硬盘上的所有分区都删除了。重新格式化整个硬盘,然后重新分区,再进行安装就正常了。方法二:P

不少的用户们觉得系统默认的分区空间太小了,那么Win11如何分区硬盘分区?用户们可以直接的点击此电脑下的管理,然后点击磁盘管理来进行操作设置就可以了。下面就让本站来为用户们来仔细的介绍一下win11磁盘怎么分区硬盘教程吧。win11磁盘怎么分区硬盘教程1、首先右键此电脑,打开计算机管理。3、然后查看右侧磁盘情况,是否有可用空间。(如果有可用空间就跳到第6步)。5、然后选择需要腾出的空间量,点击压缩。7、再输入想要的简单卷大小,点击下一页。9、最后点击完成就可以创建新的分区了。

在Windows分区时如果简单地按照1GB=1024MB的方式输入计算出来的值的话,最终总是只能得到类似259.5GB/59.99GB/60.01GB这样结果,而不是整数,那么win10分区整数是如何计算的呢?下面跟小编一起来看看吧。win10分区整数计算的公式:1、公式为:(X-1)×4+1024×X=Y。2、想要得到Windows的整数分区必须要知道一个公式,通过这个公式算出的值才能被Windows认成整数GB的值。3、其中,X就是想要得到的整数分区的数值,单位是GB,Y是分区时应该输入的数

在进行深度Linux的安装之前,我们需要对硬盘进行分区,硬盘分区是将一块物理硬盘划分为多个逻辑区域的过程,每个区域可以独立使用和管理,正确的分区方式可以提高系统的性能和稳定性,因此这一步非常重要,本文将为您提供详细的深度Linux硬盘分区及安装教程。准备工作1.确保您已经备份了重要的数据,因为分区过程会清除硬盘上的所有数据。2.准备一个深度Linux的安装媒介,例如U盘或光盘。硬盘分区1.开机进入BIOS设置,将启动媒介设置为首选启动设备。2.重启计算机,从启动媒介引导进入系统安装界面。3.选择

win11怎么优化磁盘性能?我们都知道,磁盘性能越高,电脑进行读写的速度越快,运行系统越不卡、开机也更快。本期教程小编就带大家来了解win11系统提升磁盘性能操作方法,感兴趣的朋友们一起来看看吧。win11系统提升磁盘性能操作方法 1、首先,往电脑插入U盘,或移动硬盘,然后进入此电脑,找到对应的磁盘,点击右键,在打开的菜单项中,选择属性; 2、设备属性窗口,切换到硬件选项卡,选择U盘,或移动硬盘对应的设备,然后点击右下角的属性; 3、接着,会弹出该设备的属性窗口,切换到常规选项卡,再点击改

LINUX是一个强大的操作系统,被广泛应用于服务器和开发环境,CentOS是基于RedHatEnterpriseLinux(RHEL)的一个开源操作系统,被广泛使用于服务器环境中,在CentOS上安装Gunicorn和进行分区可以提高服务器的性能和安全性,本文将详细介绍如何在CentOS上安装Gunicorn以及如何进行分区。CentOS安装GunicornGunicorn是一个Python的WSGIHTTP服务器,用于运行Python的Web应用程序,以下是在CentOS上安装Gunicorn


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境