Oralce水平分表
工作中遇到一张表每天都插入很多数据,随着时间的推移数据量会变的很大上百万条甚至上千万条记录。这样我们能不能把表进行拆分呢,答案是肯定的Oracle 很早就考虑到这个问题提供了水平拆分。 Oracle 10 g 中提供下面三中分区: 1)范围分区(Range partition)
工作中遇到一张表每天都插入很多数据,随着时间的推移数据量会变的很大上百万条甚至上千万条记录。这样我们能不能把表进行拆分呢,答案是肯定的Oracle 很早就考虑到这个问题提供了水平拆分。Oracle 10 g 中提供下面三中分区:
1)范围分区(Range partition)
2) 哈希分区(Hash partition)
-
3)列表分区(List partition)
由于水平有限下面重点介绍范围分区
范围分区,顾名思义,就是根据表的某个字段的值,以固定的一个范围作为一个分区来划分数据
1.1可以根据序号分区建表
create table test1
1.(
2. ID NUMBER not null, 3. JQBH VARCHAR2(20),
4. FJH VARCHAR2(20)
5.)
6.partition by range (ID) 7.(
8. partition part_01 values less than(30000000) tablespace WLKP_FP_DATA_2011, 9. partition part_02 values less than(60000000) tablespace WLKP_FP_DATA_2012, 10. partition part_03 values less than(maxvalue) tablespace WLKP_FP_DATA_2013 11. );
从上面我们看出按照序号分区1-30000000数据存储在part_01分区表中,30000000-60000000数据存储在第part_02分区表中。这样就达到水平拆分表的目的
1.2可以根据日期分区建表
create table test2
1.(
2. ID NUMBER not null, 3. JQBH VARCHAR2(20),
4. FJH VARCHAR2(20),
5. KPRQ DATE 6.)
7.partition by range (KPRQ) 8.(
9. partition part_01 values less than(TO_DATE('2012-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN')) tablespace WLKP_FP_DATA_2011, 10. partition part_02 values less than(TO_DATE('2013-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN')) tablespace WLKP_FP_DATA_2012, 11. partition part_03 values less than(MAXVALUE) tablespace WLKP_FP_DATA_2013 12. );
从上面建表语句我们可以看到通过时间按照年存储数据表。
通过以上方式以上方式我们可以将数据比较大的表根据ID 时间自动拆分的其他分区表中。
以上方式在系统设计表结构的时候就考虑到分表情况,实际工作中由于对系统数据量的遇见不足,没有在设计表的时候考虑的表水平切分情况。那么我们有没有办法对现有表进行拆分和改造呢。答案是肯定的。
现在对表WLKP_FP_KJ进行扩展改造
1.创建新表空间
CREATE TABLESPACE "WLKP_FP_DATA_2010"
表空间创建代码
1.LOGGING
2.DATAFILE 'E:\Oracle\product\10.2.0\oradata\wlkp\WLKP_FP_DATA_2010.ORA' 3.SIZE 5M REUSE AUTOEXTEND
4.ON NEXT 1024K MAXSIZE 32767M EXTENT MANAGEMENT LOCAL
5.SEGMENT SPACE MANAGEMENT AUTO ;
6.commit;
这里我们新建WLKP_FP_DATA_2010表空间,按照年来存储扩展WLKP_FP_KJ表当然也可以建立2011、2012、2013...表空间存储未来的数据
2创建新表WLKP_FP_KJ_TEST
表结构按照1.2日期分区建表
3.新表建立后,复制老表数据
insert into wlkp_fp_kj_test select* from wlkp_fp_kj
4.将老表wlkp_fp_kj 删除
5.重命名wlkp_fp_kj_test 为wlkp_fp_kj
这样通过以上方式我们可以讲原来wlkp_fp_kj 按照时间水平分割存储到不同的表空间了.
通过分区表查询数据分别存储在哪个分区表中.
select * from WLKP_FP_KJ partition(WLKP_FP_DATA_2011) ;

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제









SQL에서의 MINUS 사용 및 특정 코드 예 SQL에서 MINUS는 두 결과 집합 간의 차이 연산을 수행하는 데 사용되는 연산자입니다. 두 번째 결과 집합에서와 마찬가지로 첫 번째 결과 집합에서도 동일한 행을 삭제하는 데 사용됩니다. MINUS 연산자가 반환한 결과 집합에는 첫 번째 결과 집합에만 존재하는 행이 포함됩니다. 다음은 특정 코드 예제를 사용하여 MINUS의 사용법을 보여줍니다. "table1"과 "table2"라는 두 개의 테이블이 있고 해당 구조는 다음과 같다고 가정합니다. 테이블 이름: table1 필드

해결 방법예, add() 메서드를 사용하여 쉽게 Null 값을 삽입할 수 있습니다. List 구현이 Null을 지원하지 않는 경우에는NullPointerException이 발생합니다. 구문booleanadd(Ee) 지정된 요소를 이 목록의 끝에 추가합니다. 유형 매개변수 E - 요소의 런타임 유형. 매개변수 e - 이 목록에 추가될 요소

많은 게이머들이 그래픽 카드 3060에 대해 매우 궁금해하고 3060 디스플레이를 구입하고 싶어하지만 RTX 3060이 어느 수준인지는 사실 잘 모릅니다. 사실 이 그래픽 카드도 비교적 주류 수준입니다. 3060 그래픽 카드의 수준은 무엇입니까: 답변: 주류 수준. 이 RTX3060 그래픽 카드는 플레이어들 사이에서 매우 인기가 높으며 판매 중입니다. RTX30 시리즈의 고유한 장점을 가지고 있으며 게임 그래픽에 대한 요구 사항이 더 높은 플레이어는 이 그래픽 카드를 선택할 수 있습니다. 3060 그래픽 카드 확장 소개: 프레임 속도: 12GB의 대용량 비디오 메모리를 갖추고 있어 대다수의 플레이어에게 사랑받고 있습니다. 12GB의 대용량 비디오 메모리로 AAA 명작을 지연 없이 원활하게 실행할 수 있으며 프레임 속도는 60까지 도달할 수 있습니다. 가격 대비 가치: 이

1. wps 소프트웨어를 열고 wps 텍스트 작업 인터페이스로 들어갑니다. 2. 이 인터페이스에서 삽입 옵션을 찾으세요. 3. 삽입 옵션을 클릭하고 편집 영역에서 모양 옵션을 찾으세요. 4. 모양 옵션을 클릭하고 하위 메뉴에서 권장 옵션을 찾으세요. 5. 추천 옵션에서 중국 지도 옵션을 찾아보세요. 6. 중국 지도 옵션을 클릭하고 편집 입력 영역에서 마우스 왼쪽 버튼으로 드래그하여 필요한 중국 지도를 가져옵니다.

올해 휴대폰 시장의 새로운 스타로 자리잡은 기린 9000s가 많은 주목을 받았다. 스마트폰 시장의 경쟁이 점점 치열해지면서 Huawei의 주력 프로세서인 Kirin 시리즈는 항상 많은 관심을 받아왔습니다. 최신 프로세서인 Kirin 9000s의 성능과 수준은 어떻습니까? 다음은 Kirin 9000s를 평가하고 다양한 측면에서 장점과 단점을 분석해 보겠습니다. 우선, 성능 측면에서 Kirin 9000s는 고급 5nm 공정을 사용하여 제조되었으며 ARM의 최신 Co를 통합했습니다.

연결된 목록을 형성하는 데 사용되는 정수 값을 얻습니다. 작업은 먼저 재귀적 방법을 사용하여 단일 연결 목록을 삽입한 다음 순회하는 것입니다. head가 NULL이면 끝에 노드를 재귀적으로 추가 → head에 노드 추가 그렇지 않으면 head에 추가(head → next) head가 NULL이면 노드를 재귀적으로 순회 → 그렇지 않으면 종료(head → next) 입력 예 −1-2-7-9 -10 출력 출력강>− 연결 리스트: 1→2→7→9→10→NULL 입력−12-21-17-94-18 출력− 연결 리스트: 12→21→17→94→18→NULL 에서 사용 다음 프로그램 방법은 다음과 같습니다. 이 방법에서는 함수를 사용하여 노드를 추가하고 단일 연결 목록을 순회하고 전달합니다.

MySQL에 여러 행의 데이터를 삽입하는 명령문을 구현하는 방법은 무엇입니까? MySQL에서는 한 번에 여러 행의 데이터를 테이블에 삽입해야 하는 경우가 있습니다. 이 경우 INSERTINTO 문을 사용하여 이를 달성할 수 있습니다. 다음에서는 INSERTINTO 문을 사용하여 여러 데이터 행을 삽입하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. ID, 이름, 나이 필드가 포함된 학생이라는 테이블이 있다고 가정해 보겠습니다. 이제 여러 학생 정보를 한 번에 삽입하려면 다음 단계를 따르세요.

1. 파일을 추가하려는 PPT를 엽니다. 2. ppt 문서를 삽입하려는 페이지로 이동합니다. 3. 메뉴바에서 [삽입]------[개체]를 선택합니다. 4. [개체 삽입] 대화상자가 나타납니다. 작업 방법 1: 새로 만들기를 선택하고 대화 상자에서 [Microsoft Office PowerPoint 프레젠테이션]을 선택한 후 [확인]을 클릭하면 새 빈 문서 상자에 내용을 추가할 수 있습니다. 작업 방법 2: 파일에서 만들기를 선택하고 [찾아보기]를 클릭합니다. ] 대화 상자에서 삽입할 파일을 찾은 후 [확인]을 클릭하세요.
