oracle數據量大時候分區索引思路

有一個分區表,按list分區,只有一個本地唯一索引,沒有外鍵和觸發器
當單個分區數量在2000萬以內時,insert效率還可以,每秒2.3-2.5萬條
但數據量越大,速度越慢,
目前單個分區數量達到3億,占用磁盤空間28G,索引占用13G,insert每秒才2000條
做過的嘗試:
1、已經將表和索引設置成nologging
2、試過append,沒有明顯改善

分析應該是維護索引導致的性能問題,有什么方法可以改善?


建議如下:
1.采取批量提交比如2000-5000 行提交一次
2.如果數據都是插入到單個分區的話,可以把該分區上的索引先disable 然后再插入 完成后rebuild 該分區上的索引
alter index ind_t100 unusable;
alter index IND_T100 rebuild;
3.如果日志文件切換很平凡的話,建議增大日志文件大小


很明顯是維護索引消耗
alter index xxx unusable;
最后再重建這個索引

有人反映,
唯一索引,UNUSABLE后不能insert
----------------------------------------------------------------61萬數據進行測試

失效索引后重建:
alter index? ACT_IDX_HI_PROCVAR_TASK_ID unusable;
alter index? ACT_HI_VARINSTWITHIDX_INDEX1 unusable;
alter index ACT_IDX_HI_PROCVAR_NAME_TYPE unusable;
alter index ACT_IDX_HI_PROCVAR_PROC_INST unusable;
?insert into act_hi_varinstspan select * from act_hi_varinst;
alter index? ACT_IDX_HI_PROCVAR_TASK_ID rebuild;
alter index? ACT_HI_VARINSTWITHIDX_INDEX1 rebuild;
alter index ACT_IDX_HI_PROCVAR_NAME_TYPE rebuild;
alter index ACT_IDX_HI_PROCVAR_PROC_INST rebuild;

插入612,627 行數據耗費30.7秒
重建耗費10秒

不分區:
無索引
612,627 行已插入。
16.518秒
帶索引
612,627 行已插入。
127.492秒

分區:
非索引
612,627 行已插入。
16.518秒
帶索引
612,627 行已插入。
108.081秒
---------------------------------------------------------------相關實驗及語句
---按日期進行分區
select table_name,partition_name from user_tab_partitions where table_name='ACT_HI_VARINSTSPAN';
create table ACT_HI_VARINSTSPAN (
? id_??????????????? NVARCHAR2(64) not null,
? proc_inst_id_????? NVARCHAR2(64),
? execution_id_????? NVARCHAR2(64),
? task_id_?????????? NVARCHAR2(64),
? name_????????????? NVARCHAR2(255) not null,
? var_type_????????? NVARCHAR2(100),
? rev_?????????????? INTEGER,
? bytearray_id_????? NVARCHAR2(64),
? double_??????????? NUMBER(*,10),
? long_????????????? NUMBER(19),
? text_????????????? NVARCHAR2(2000),
? text2_???????????? NVARCHAR2(2000),
? create_time_?????? TIMESTAMP(6),
? last_updated_time_ TIMESTAMP(6)
) partition by range(create_time_)
?interval (numtodsinterval(1,'day'))
?(
? partition create_time_ values less than (to_date('2016-01-01','yyyy-mm-dd'))
?);
-- 查看分區表
?SELECT * FROM USER_PART_TABLES;
-- 查看表分區
?select table_name,partition_name from user_tab_partitions where table_name='ACT_HI_VARINSTSPAN';
-- 為分區進行建立索引
CREATE INDEX ACT_HI_VARINSTSPAN_INDEXSPAN1 ON ACT_HI_VARINSTSPAN(ID_) LOCAL;
-- 查看分區進行建立索引
?select INDEX_NAME,PARTITION_NAME,HIGH_VALUE,STATUS from dba_ind_partitions where index_name='ACT_HI_VARINSTSPAN_INDEXSPAN1';
-- 查看分區進行建立索引
?SELECT * FROM USER_PART_INDEXES
--重建分區索引
? alter index ACT_HI_VARINSTSPAN_INDEXSPAN1 rebuild partition SYS_P718;
?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/387736.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/387736.shtml
英文地址,請注明出處:http://en.pswp.cn/news/387736.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【轉】WPF自定義控件與樣式(3)-TextBox RichTextBox PasswordBox樣式、水印、Label標簽、功能擴展...

一.前言.預覽 申明:WPF自定義控件與樣式是一個系列文章,前后是有些關聯的,但大多是按照由簡到繁的順序逐步發布的等。 本文主要是對文本輸入控件進行樣式開發,及相關擴展功能開發,主要內容包括:…

JVM調優 dump文件怎么生成和分析

1、獲取JVM的dump文件的兩種方式   1. JVM啟動時增加兩個參數: #出現 OOME 時生成堆 dump: -XX:HeapDumpOnOutOfMemoryError #生成堆文件地址: -XX:HeapDumpPath/home/liuke/jvmlogs/ 2. 發現程序異常前通過執行指令,直接生成當前JVM的dmp文件&#x…

關于 Oracle 分區索引的失效和重建

--創建測試表 SQL> create table t as select object_id,object_name from dba_objects;表已創建。SQL> select min(object_id),max(object_id) from t;MIN(OBJECT_ID) MAX(OBJECT_ID)-------------- --------------2 76083SQL> create table t_part(object…

【網絡安全/CTF】unseping 江蘇工匠杯

該題考察序列化反序列化及Linux命令執行相關知識。 題目 <?php highlight_file(__FILE__);class ease{private $method;private $args;function __construct($method, $args) {$this->method $method;$this->args $args;}function __destruct(){if (in_array($thi…

yum配置中driver-class-name: com.mysql.jdbc.Driver報錯

錯誤&#xff1a; 原因&#xff1a; 解決方法&#xff1a;把方框中的<scope>runtime</scope>刪掉 轉載于:https://www.cnblogs.com/zly123/p/10834958.html

gitlab中的CI

https://blog.csdn.net/chengzi_comm/article/details/78778284 轉載于:https://www.cnblogs.com/effortsing/p/10142720.html

增加表空間大小的四種方法

增加表空間大小的四種方法Meathod1&#xff1a;給表空間增加數據文件ALTER TABLESPACE app_data ADD DATAFILED:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF SIZE 50M;Meathod2&#xff1a;新增數據文件&#xff0c;并且允許數據文件自動增長ALTER TABLESPACE app_data …

Red Hat 8.0中設置光盤為軟件源

為什么80%的碼農都做不了架構師&#xff1f;>>> 以管理員身份登錄 su 編輯設置軟件源的repo文件 gedit /etc/yum.repos.d/redhat.repo 粘貼如下文本至空白處&#xff1a; [InstallMedia] nameRed Hat Enterprise Linux 8.0.0 mediaidNone metadata_expire-1 gpgche…

C++11并發編程:多線程std::thread

一&#xff1a;概述 C11引入了thread類&#xff0c;大大降低了多線程使用的復雜度&#xff0c;原先使用多線程只能用系統的API&#xff0c;無法解決跨平臺問題&#xff0c;一套代碼平臺移植&#xff0c;對應多線程代碼也必須要修改。現在在C11中只需使用語言層面的thread可以解…

圖像特征提取——韋伯局部描述符(WLD)

一、原理及概述 韋伯局部描述符&#xff08;WLD&#xff09;是一種魯棒性好、簡單高效的局部特征描述符。WLD由兩個部分組成&#xff1a;差分激勵和梯度方向。 其具體算法是對于給定的一幅圖像&#xff0c;通過對每個像素進行這兩個分量的計算來提取其差分激勵圖像和梯度方向圖…

Linux下Nagios的安裝與配置

Linux下Nagios的安裝與配置 一、Nagios簡介 Nagios是一款開源的電腦系統和網絡監視工具&#xff0c;能有效監控Windows、Linux和Unix的主機狀態&#xff0c;交換機路由器等網絡設置&#xff0c;打印機等。在系統或服務狀態異常時發出郵件或短信報警第一時間通知網站運維人員&am…

POJ_3262 Protecting the Flowers 【貪心】

一、題面 POJ3262 二、分析 這題要往貪心上面想應該還是很容易的&#xff0c;但問題是要證明為什么比值關系就能滿足。 可以選擇幾個去分析&#xff0c;入1-6 與 2-15 和 1-6 與2-5 和 1-6 與 2- 12。 三、AC代碼 1 #include <cstdio>2 #include <iostream>3 #in…

WebLogic安裝Linux centos7

一、安裝前準備工作&#xff1a; 1、創建用戶useradd weblogic;創建用戶成功linux系統會自動創建一個和用戶名相同的分組&#xff0c;并將該用戶分到改組中。并會在/home路徑下創建一個和用戶名相同的路徑&#xff0c;比如我們創建的weblogic。 注&#xff1a;當然&#xff0…

jquery如何阻止子元素繼承父元素的事件(又稱事件冒泡)

非常簡單&#xff0c;子元素上添加如下代碼即可 1 $(a).click(function(e){ 2 e.stopPropagation(); 3 }); 老版本為event,現在用e就行 轉載于:https://www.cnblogs.com/chengbo2130/p/10152747.html

java spring cloud 版 b2b2c 社交電商-服務消費者(Feign)

社交電商平臺源碼請加企鵝求求&#xff1a;一零三八七七四六二六。Feign是一個聲明式的偽Http客戶端&#xff0c;它使得寫Http客戶端變得更簡單。使用Feign&#xff0c;只需要創建一個接口并注解。它具有可插拔的注解特性&#xff0c;可使用Feign 注解和JAX-RS注解。Feign支持可…

Mybaits自定義SQL

最近有個同事要包裝一個可以執行sql語句的功能用的是mybatis 最開始他想到的方案是拿到數據庫連接再執行sql語句。 后來出了某些錯誤來問我&#xff0c;為了尋求比較快的解決方法于是我就試試了下下面的方法。 首先在Mapper添加 <select id"select" resultMap&qu…

Beta 沖刺 (7/7)

團隊信息 隊名&#xff1a;爸爸餓了組長博客&#xff1a;here作業博客&#xff1a;here組員情況 組員1&#xff08;組長&#xff09;&#xff1a;王彬 過去兩天完成了哪些任務 協助完成安卓端的整合完成安卓端的美化協助制作宣傳視頻 接下來的計劃 & 還剩下哪些任務 I am d…

類的轉換函數調用的優先級與是否用const修飾的關系

P415 C Primer Plus (第六版&#xff09;(待解決~~知道原理的同學請留言&#xff0c;多謝~~&#xff09; #include <iostream>using namespace std; class Cp{private:   int a;   double b;public:   Cp()   {     a 1;     b 2.2;   } operator in…

Java Web 學習與總結(一)Servlet基礎

配置環境&#xff1a;https://www.cnblogs.com/qq965921539/p/9821374.html 簡介&#xff1a; Servlet是Sun公司提供的一種實現動態網頁的解決方案&#xff0c;在制定J2EE時引入它作為實現了基于Java語言的動態技術&#xff0c;目前流行的Web框架基本都基于Servlet技術&#xf…

堪稱經典

程序員作為高智商、高收入、高壓力群體&#xff0c;經常會有各種自嘲&#xff0c;而且還天生攜帶段子手基因。不信看看下面這些段子&#xff0c;一般人哪能懂&#xff01; 1、殺一個程序員不需要用槍&#xff0c;改三次需求就可以了 2、程序員退休后決定練習書法&#xff0c;于…