데이터 베이스 MySQL 튜토리얼 Oracle海量数据加快创建索引速度

Oracle海量数据加快创建索引速度

Jun 07, 2016 pm 05:12 PM

Oracle海量数据加快创建索引速度,数据库版本:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

基本信息情况:

数据库版本:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

操作系统版本:CentOS release 5.6

加快创建索引速度主要从一下角度考虑:

  • 使用nologging 参数
  • 使用parallel 并行参数
  • 在session级别使用manual pga,手动调整sort_area_size
  • 修改其他参数
  • 注意:我们这里不手动调整hash_area_size,hash_area_size 默认情况下会自动根据sort_area_size*2来调,导致sort_area_size不能超过1G。所以我们这里直接调整sort_area_size参数。

    这里首先记录pga使用的情况,9i以后查询pga分配和使用可以查询v$pgastat视图。

    对于上面的解释如下

    1 aggregate PGA target parameter 150994944 bytes : pga_aggregate_target
    2 aggregate PGA auto target 93579264 bytes : 剩余的能被工作区使用的内存。
    3 global memory bound 30198784 bytes :单个SQL最大能用到的内存
    4 total PGA inuse 47017984 bytes :正被耗用的pga(包括workare pl/sql等所有占用的pga)
    5 total PGA allocated 56666112 bytes :当前实例已分配的PGA内存总量。
    一般来说,这个值应该小于 PGA_AGGREGATE_TARGET ,
    但是如果进程需求的PGA快速增长,它可以在超过PGA_AGGREGATE_TARGET的限定值
    6 maximum PGA allocated 58632192 bytes :pga曾经扩张到的最大值
    7 total freeable PGA memory 2883584 bytes :可释放的pga
    8 process count 23 :当前process
    9 max processes count 48 :最大时候的process
    10 PGA memory freed back to OS 5177344 bytes
    11 total PGA used for auto workareas 0 bytes :当前auto模式下占用的workara size 大小
    12 maximum PGA used for auto workareas 0 bytes :auto模式下占用的workara size最大 大小
    13 total PGA used for manual workareas 0 bytes :当前manual模式下占用的workara size 大小
    14 maximum PGA used for manual workareas 0 bytes :manual模式下占用的workara size最大 大小
    15 over allocation count 0 :使用量超过pga大小的次数
    16 bytes processed 6438912 bytes :pga使用的字节
    17 extra bytes read/written 0 bytes :向临时段写的字节
    18 cache hit percentage 100 percent :bytes processed/(bytes processed+extra bytes read/written)
    19 recompute count (total) 123

    global memory bound:一个串行操作能用到的最大内存
    =min(5%*pga_aggregate_target,50%*_pga_max_size,_smm_max_size),
    当你修改参数pga_aggregate_target的值时,Oracle系统会根据pga_aggregate_target和_pga_max_size
    这两个值来自动修改参数_smm_max_size。具体修改的规则是:
    如果_pga_max_size大于5%*pga_aggregate_target,则_smm_max_size为5%*pga_aggregate_target。
    如果_pga_max_size小于等于5%*pga_aggregate_target,则_smm_max_size为50%*_pga_max_size。

    total PGA in used:当前正在使用的PGA,可以从v$process的pga_used_mem字段中获取
    select sum(a.PGA_USED_MEM),sum(a.PGA_ALLOC_MEM),sum(a.PGA_MAX_MEM) from v$process a
    v$pgastat 中的 total PGA in used、total PGA allocated、maximum PGA allocated
    这3个值差不多


    在执行创建索引前,我们还要介绍一个视图v$session_longops视图

    其中SID和SERIAL#是与v$session中的匹配的,
    OPNAME:指长时间执行的操作名.如:Table Scan
    TARGET:被操作的object_name. 如:tableA
    TARGET_DESC:描述target的内容
    SOFAR:这个是需要着重去关注的,表示已要完成的工作数,如扫描了多少个块。
    TOTALWORK:指目标对象一共有多少数量(预计)。如块的数量。
    UNITS:
    START_TIME:进程的开始时间
    LAST_UPDATE_TIM:最后一次调用set_session_longops的时间
    TIME_REMAINING: 估计还需要多少时间完成,单位为秒
    ELAPSED_SECONDS:指从开始操作时间到最后更新时间
    CONTEXT:
    MESSAGE:对于操作的完整描述,包括进度和操作内容。
    USERNAME:与v$session中的一样。
    SQL_ADDRESS:关联v$sql
    SQL_HASH_VALUE:关联v$sql
    QCSID:主要是并行查询一起使用。

    更多Oracle相关信息见Oracle 专题页面 ?tid=12

    linux

    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

    핫 AI 도구

    Undresser.AI Undress

    Undresser.AI Undress

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

    AI Clothes Remover

    AI Clothes Remover

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

    Undress AI Tool

    Undress AI Tool

    무료로 이미지를 벗다

    Clothoff.io

    Clothoff.io

    AI 옷 제거제

    AI Hentai Generator

    AI Hentai Generator

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

    뜨거운 도구

    메모장++7.3.1

    메모장++7.3.1

    사용하기 쉬운 무료 코드 편집기

    SublimeText3 중국어 버전

    SublimeText3 중국어 버전

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

    스튜디오 13.0.1 보내기

    스튜디오 13.0.1 보내기

    강력한 PHP 통합 개발 환경

    드림위버 CS6

    드림위버 CS6

    시각적 웹 개발 도구

    SublimeText3 Mac 버전

    SublimeText3 Mac 버전

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

    MySQL의 문제를 해결하는 방법 공유 라이브러리를 열 수 없습니다. MySQL의 문제를 해결하는 방법 공유 라이브러리를 열 수 없습니다. Mar 04, 2025 pm 04:01 PM

    이 기사에서는 MySQL의 "공유 라이브러리를 열 수 없음"오류를 다룹니다. 이 문제는 MySQL이 필요한 공유 라이브러리 (.so/.dll 파일)를 찾을 수 없음에서 비롯됩니다. 솔루션은 시스템 패키지 M을 통한 라이브러리 설치 확인과 관련이 있습니다.

    Docker에서 MySQL 메모리 사용을 줄입니다 Docker에서 MySQL 메모리 사용을 줄입니다 Mar 04, 2025 pm 03:52 PM

    이 기사는 Docker에서 MySQL 메모리 사용을 최적화합니다. 모니터링 기술 (Docker Stats, Performance Schema, 외부 도구) 및 구성 전략에 대해 설명합니다. 여기에는 Docker 메모리 제한, 스와핑 및 CGroups와 함께 포함됩니다

    Alter Table 문을 사용하여 MySQL에서 테이블을 어떻게 변경합니까? Alter Table 문을 사용하여 MySQL에서 테이블을 어떻게 변경합니까? Mar 19, 2025 pm 03:51 PM

    이 기사는 MySQL의 Alter Table 문을 사용하여 열 추가/드롭 테이블/열 변경 및 열 데이터 유형 변경을 포함하여 테이블을 수정하는 것에 대해 설명합니다.

    Linux에서 MySQL을 실행합니다 (Phpmyadmin이있는 Podman 컨테이너가 포함되지 않음) Linux에서 MySQL을 실행합니다 (Phpmyadmin이있는 Podman 컨테이너가 포함되지 않음) Mar 04, 2025 pm 03:54 PM

    이 기사는 Linux에 MySQL을 직접 설치하는 것과 Phpmyadmin이없는 Podman 컨테이너 사용을 비교합니다. 각 방법에 대한 설치 단계에 대해 자세히 설명하면서 Podman의 격리, 이식성 및 재현성의 장점을 강조하지만 또한

    sqlite 란 무엇입니까? 포괄적 인 개요 sqlite 란 무엇입니까? 포괄적 인 개요 Mar 04, 2025 pm 03:55 PM

    이 기사는 자체 포함 된 서버리스 관계형 데이터베이스 인 SQLITE에 대한 포괄적 인 개요를 제공합니다. SQLITE의 장점 (단순성, 이식성, 사용 용이성) 및 단점 (동시성 제한, 확장 성 문제)에 대해 자세히 설명합니다. 기음

    MySQL 연결에 대한 SSL/TLS 암호화를 어떻게 구성합니까? MySQL 연결에 대한 SSL/TLS 암호화를 어떻게 구성합니까? Mar 18, 2025 pm 12:01 PM

    기사는 인증서 생성 및 확인을 포함하여 MySQL에 대한 SSL/TLS 암호화 구성에 대해 설명합니다. 주요 문제는 자체 서명 인증서의 보안 영향을 사용하는 것입니다. [문자 수 : 159]

    MacOS에서 여러 MySQL 버전을 실행 : 단계별 가이드 MacOS에서 여러 MySQL 버전을 실행 : 단계별 가이드 Mar 04, 2025 pm 03:49 PM

    이 안내서는 Homebrew를 사용하여 MacOS에 여러 MySQL 버전을 설치하고 관리하는 것을 보여줍니다. 홈 브루를 사용하여 설치를 분리하여 갈등을 방지하는 것을 강조합니다. 이 기사에는 설치, 서비스 시작/정지 서비스 및 Best Pra에 대해 자세히 설명합니다

    인기있는 MySQL GUI 도구는 무엇입니까 (예 : MySQL Workbench, Phpmyadmin)? 인기있는 MySQL GUI 도구는 무엇입니까 (예 : MySQL Workbench, Phpmyadmin)? Mar 21, 2025 pm 06:28 PM

    기사는 MySQL Workbench 및 Phpmyadmin과 같은 인기있는 MySQL GUI 도구에 대해 논의하여 초보자 및 고급 사용자를위한 기능과 적합성을 비교합니다. [159 자].

    See all articles