oracle分區表按時間自動創建

来源:http://www.cnblogs.com/aqsunkai/archive/2017/05/09/6832502.html
-Advertisement-
Play Games

表分區是一種思想,分區表示一種技術實現。當表的大小過G的時候可以考慮進行表分區,提高查詢效率,均衡IO。oracle分區表是oracle資料庫提供的一種表分區的實現形式。表進行分區後,邏輯上仍然是一張表,原來的查詢SQL同樣生效,同時可以採用使用分區查詢來優化SQL查詢效率,不至於每次都掃描整個表。 ...


表分區是一種思想,分區表示一種技術實現。當表的大小過G的時候可以考慮進行表分區,提高查詢效率,均衡IO。oracle分區表是oracle資料庫提供的一種表分區的實現形式。表進行分區後,邏輯上仍然是一張表,原來的查詢SQL同樣生效,同時可以採用使用分區查詢來優化SQL查詢效率,不至於每次都掃描整個表。

根據年: INTERVAL(NUMTOYMINTERVAL(1,'YEAR'))
根據月: INTERVAL(NUMTOYMINTERVAL(1,'MONTH'))
根據天: INTERVAL(NUMTODSINTERVAL(1,'DAY'))
根據時分秒: NUMTODSINTERVAL( n, { 'DAY'|'HOUR'|'MINUTE'|'SECOND'})

此時已經有普通表了,我創建了含相同欄位的分區表,把數據導入到分區表中,再把原表刪掉。

-- Create table(WMS_OPERATION_RECORD)
create table DPHOMEWMS.WMS_OPERATION_RECORD_TMP
(
  ID             NUMBER(19) not null,
  WAREHOUSE_ID   NUMBER(19),
  ASN_ID         NUMBER(19),
  PICK_TICKET_ID NUMBER(19),
  RELATION_CODE  VARCHAR2(50),
  OPERATION_TYPE VARCHAR2(50),
  OPERATION_ID   NUMBER(19),
  OPERATION_NAME VARCHAR2(50 CHAR),
  OPERATION_TIME TIMESTAMP(6),
  STATUS         VARCHAR2(10),
  TYPE           VARCHAR2(10),
  COUNTS         NUMBER(10)
)tablespace DPHOMEWMS_DATA
PARTITION BY RANGE (OPERATION_TIME) interval (numtoyminterval(1, 'month')) 
STORE IN (DPHOMEWMS_DATA) 
(
  partition OPERATION_RECORD_P01 values less than (TIMESTAMP' 2017-05-08 00:00:00')
  tablespace DPHOMEWMS_DATA
);
-- Add comments to the columns 
comment on column DPHOMEWMS.WMS_OPERATION_RECORD_TMP.WAREHOUSE_ID
  is '倉庫id';
comment on column DPHOMEWMS.WMS_OPERATION_RECORD_TMP.ASN_ID
  is '收貨單id';
comment on column DPHOMEWMS.WMS_OPERATION_RECORD_TMP.PICK_TICKET_ID
  is '發貨單ID';
comment on column DPHOMEWMS.WMS_OPERATION_RECORD_TMP.RELATION_CODE
  is '關聯單據號(收貨單或發貨單的code)';
comment on column DPHOMEWMS.WMS_OPERATION_RECORD_TMP.OPERATION_TYPE
  is '操作類型';
comment on column DPHOMEWMS.WMS_OPERATION_RECORD_TMP.OPERATION_ID
  is '操作人ID';
comment on column DPHOMEWMS.WMS_OPERATION_RECORD_TMP.OPERATION_NAME
  is '操作人名稱';
comment on column DPHOMEWMS.WMS_OPERATION_RECORD_TMP.OPERATION_TIME
  is '操作時間';
comment on column DPHOMEWMS.WMS_OPERATION_RECORD_TMP.STATUS
  is '狀態';
comment on column DPHOMEWMS.WMS_OPERATION_RECORD_TMP.TYPE
  is '明細或者統計次數類型';
comment on column DPHOMEWMS.WMS_OPERATION_RECORD_TMP.COUNTS
  is '統計次數';
update DPHOMEWMS.WMS_OPERATION_RECORD set OPERATION_TIME = sysdate where OPERATION_TIME is null;
insert into DPHOMEWMS.WMS_OPERATION_RECORD_TMP select * from WMS_OPERATION_RECORD;
drop table DPHOMEWMS.WMS_OPERATION_RECORD;
alter table DPHOMEWMS.WMS_OPERATION_RECORD_TMP rename to WMS_OPERATION_RECORD;
alter table DPHOMEWMS.WMS_OPERATION_RECORD enable row movement;

(1)OPERATION_TIME是分區鍵,每一個月會自動創建一個分區,分區鍵不允許為null。

(2)alter table table_name enable row movement;    是指允許分區表的分區鍵是可更新,當某一行更新時,如果更新的是分區列,並且更新後的列值不屬於原來的這個分區,如果開啟了這個選項,就會把這行從這個分區中delete掉,並加到更新後所屬的分區,此時就會發生rowid的改變。相當於一個隱式的delete+insert,但是不會觸發insert/delete觸發器。如果沒有開啟這個選項,就會在更新時報錯。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 此次掃碼功能以iOS系統原生的AVFoundation框架為基礎。 廢話不多說,直接上代碼 #import <UIKit/UIKit.h> @interface ScanViewController : UIViewController @end 在.m文件中創建對象 #import "ScanVi ...
  • 1.原代碼提示快捷鍵為:Ctrl+空格,與Windows輸入法衝突,所以將代碼提示快捷鍵設置為:Ctrl+反斜杠。 ...
  • 入行快10年,有點積蓄,三年前買了代步車。於是乎,汽車油耗開銷就成了每個月都必須關註的問題。三年來,用過了無數油耗記錄軟體,比如最知名的“小熊油耗”,從第一次用,一直到最新一版,感覺越來越“臃腫”,功能實在是太豐富了,甚至都做到“大數據”這一層面,作為一個小白車主,其實,我只關心:我的車油耗如何。 ...
  • RunLoop是iOS線程相關的比較重要的一個概念,無論是主線程還是子線程,都對應一個RunLoop,如果沒有RunLoop,線程會馬上被系統回收。 本文主要CFRunLoop的源碼解析,並簡單闡述一下CFRunLoop的原理。 CFRunLoop是開源的,開源地址在:http://opensour ...
  • //將字元串轉化成Drawable public synchronized static Drawable StringToDrawable(String icon) { if (icon == null || icon.length() < 10) return null; byte[] img ... ...
  • 小狼咕咕最近開啟了微信小程式開發的徵程,由於微信小程式的前後臺通信必須通過https協議,所以小狼咕咕第一件要做的事就是配置一個能夠通過https訪問的後臺服務。小狼咕咕用的是阿裡雲ECS伺服器,Linux系統,安裝的tomcat。 打開阿裡雲盾——CA證書服務,找不到的朋友也可以在下圖的菜單中直接 ...
  • 如果轉載,請註明博文來源: www.cnblogs.com/xinysu/ ,版權歸 博客園 蘇家小蘿蔔 所有。望各位支持! 1 行記錄如何存儲 這裡引入兩個概念:堆跟聚集索引表。本部分參考MSDN。 1.1 堆表 堆表,沒有聚集索引的表格,可以創建一個或者多個非聚集索引。沒有按照某個規則進行存儲, ...
  • 一.準備教程 1.jdk:版本在1.7.x以上就可以(因為hadoop2.x以上只支持1.7.x以上的jdk,我的是1.8的) 2.Hadoop:2.7.3 二.ssh的配置以及驗證 配置ssh: 1.確認mac的遠程登錄是否開啟 系統偏好設置->共用->勾選遠程登錄. 當遠程登錄狀態為打開且為綠燈 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...