首页 数据库 mysql教程 Oracle学习:分区表和索引

Oracle学习:分区表和索引

Jun 07, 2016 pm 04:55 PM
oracle 数据库

什么时候使用Oracle分区: 1、 大数据量的表,比如大于2GB。一方面2GB文件对于32位os是一个上限,另外备份时间长。 2、

   什么时候使用Oracle分区:
    1、 大数据量的表,比如大于2GB。一方面2GB文件对于32位os是一个上限,另外备份时间长。
    2、 包括历史数据的表,比如最新的数据放入到最新的分区中。典型的例子:历史表,只有当前月份的数据可以被修改,而其他月份只能read-only
    ORACLE只支持以下分区:tables, indexes on tables, materialized views, and indexes on materialized views
    分区对SQL和DML是透明的(应用程序不必知道已经作了分区),但是DDL可以对不同的分区进行管理。
    不同的分区之间必须有相同的逻辑属性,比如共同的表名,列名,数据类型,约束;
    但是可以有不同的物理属性,比如pctfree, pctused, and tablespaces.
    分区独立性:即使某些分区不可用,其他分区仍然可用。
    最多可以分成64000个分区,但是具有LONG or LONG RAW列的表不可以,,但是有CLOB or BLOB列的表可以。
    可以不用to_date函数,比如:
    alter session set nls_date_format='mm/dd/yyyy';
    CREATE TABLE sales_range
    (salesman_id NUMBER(5),
    salesman_name VARCHAR2(30),
    sales_amount NUMBER(10),
    sales_date DATE)
    PARTITION BY RANGE(sales_date)
    (
    PARTITION sales_jan2000 VALUES LESS THAN('02/01/2000'),
    PARTITION sales_feb2000 VALUES LESS THAN('03/01/2000'),
    PARTITION sales_mar2000 VALUES LESS THAN('04/01/2000'),
    PARTITION sales_apr2000 VALUES LESS THAN('05/01/2000')
    );
    Partition Key:最多16个columns,可以是nullable的
    非分区的表可以有分区或者非分区的索引;
    分区表可以有分区或者非分区的索引;
    Partitioning 方法:
    Range Partitioning
    List Partitioning
    Hash Partitioning
    Composite Partitioning
    Composite Partitioning:组合,以及 range-hash and range-list composite partitioning
    Range Partitioning:
    每个分区都有VALUES LESS THAN子句,表示这个分区小于(=)前一个分区的VALUES LESS THAN值。
    MAXVALUE定义最高的分区,他表示一个虚拟的无限大的值。这个分区包括null值。
    创建表 sales_range
    (salesman_id NUMBER(5),
    salesman_name VARCHAR2(30),
    sales_amount NUMBER(10),
    sales_date DATE)
    按范围分区(sales_date)
    (
    分区 sales_jan2000 值小于(TO_DATE('01/02/2000','DD/MM/YYYY')),
    分区 sales_feb2000 值小于(TO_DATE('01/03/2000') ,'DD/MM/YYYY')),
    分区 sales_mar2000 值小于(TO_DATE('01/04/2000','DD/MM/YYYY')),
    分区 sales_apr2000 值小于(TO_DATE) ('01/05/2000','DD/MM/YYYY')),
    PARTITION sales_2000 VALUES LESS THAN(MAXVALUE)
    );
    插入数据:
    插入 sales_range 值(1 ,2,3,to_date('21-04-2000','DD-MM-YYYY'));
    插入 sales_range 值(1,2,3,sysdate);
    选择数据:
    select * from sales_range;
    select * from sales_rangepartition(sales_apr2000);
    select * from sales_rangepartition(sales_mar2000);
    select * from sales_rangepartition(sales_2000);
   三个多个列分区:
    创建表 sales_range1
    (salesman_id NUMBER(5),
    salesman_name VARCHAR2(30),
    sales_amount NUMBER(10),
    sales_date DATE)
    按范围分区(sales_date, sales_amount)
    (
    分区 sales_jan2000 值小于(TO_DATE('01/02/2000','DD/MM/YYYY'),1000),
    分区 sales_feb2000 值小于(TO_DATE('01) /03/2000','DD/MM/YYYY'),2000),
    分区 sales_mar2000 值小于(TO_DATE('01/04/2000','DD/MM/YYYY'),3000),
    分区 sales_apr2000 值小于(TO_DATE('01/05/2000','DD/MM/YYYY'),4000),
    分区 sales_2000 值小于(MAXVALUE, MAXVALUE)
    );
    插入 sales_range1 值(1,2,500, TO_DATE('21/01/2000','DD/MM/YYYY'));
    插入 sales_range1 值(2,3,1500, sysdate);

Oracle学习:分区表和索引

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1673
14
CakePHP 教程
1429
52
Laravel 教程
1333
25
PHP教程
1278
29
C# 教程
1257
24
MySQL:世界上最受欢迎的数据库的简介 MySQL:世界上最受欢迎的数据库的简介 Apr 12, 2025 am 12:18 AM

MySQL是一种开源的关系型数据库管理系统,主要用于快速、可靠地存储和检索数据。其工作原理包括客户端请求、查询解析、执行查询和返回结果。使用示例包括创建表、插入和查询数据,以及高级功能如JOIN操作。常见错误涉及SQL语法、数据类型和权限问题,优化建议包括使用索引、优化查询和分表分区。

为什么要使用mysql?利益和优势 为什么要使用mysql?利益和优势 Apr 12, 2025 am 12:17 AM

选择MySQL的原因是其性能、可靠性、易用性和社区支持。1.MySQL提供高效的数据存储和检索功能,支持多种数据类型和高级查询操作。2.采用客户端-服务器架构和多种存储引擎,支持事务和查询优化。3.易于使用,支持多种操作系统和编程语言。4.拥有强大的社区支持,提供丰富的资源和解决方案。

oracle怎么循环创建游标 oracle怎么循环创建游标 Apr 12, 2025 am 06:18 AM

Oracle 中,FOR LOOP 循环可动态创建游标, 步骤为:1. 定义游标类型;2. 创建循环;3. 动态创建游标;4. 执行游标;5. 关闭游标。示例:可循环创建游标,显示前 10 名员工姓名和工资。

MySQL与其他数据库:比较选项 MySQL与其他数据库:比较选项 Apr 15, 2025 am 12:08 AM

MySQL适合Web应用和内容管理系统,因其开源、高性能和易用性而受欢迎。1)与PostgreSQL相比,MySQL在简单查询和高并发读操作上表现更好。2)相较Oracle,MySQL因开源和低成本更受中小企业青睐。3)对比MicrosoftSQLServer,MySQL更适合跨平台应用。4)与MongoDB不同,MySQL更适用于结构化数据和事务处理。

oracle视图怎么导出 oracle视图怎么导出 Apr 12, 2025 am 06:15 AM

可以通过 EXP 实用程序导出 Oracle 视图:登录 Oracle 数据库。启动 EXP 实用程序,指定视图名称和导出目录。输入导出参数,包括目标模式、文件格式和表空间。开始导出。使用 impdp 实用程序验证导出。

MySQL:结构化数据和关系数据库 MySQL:结构化数据和关系数据库 Apr 18, 2025 am 12:22 AM

MySQL通过表结构和SQL查询高效管理结构化数据,并通过外键实现表间关系。1.创建表时定义数据格式和类型。2.使用外键建立表间关系。3.通过索引和查询优化提高性能。4.定期备份和监控数据库确保数据安全和性能优化。

oracle日志写满怎么办 oracle日志写满怎么办 Apr 12, 2025 am 06:09 AM

Oracle 日志文件写满时,可采用以下解决方案:1)清理旧日志文件;2)增加日志文件大小;3)增加日志文件组;4)设置自动日志管理;5)重新初始化数据库。在实施任何解决方案前,建议备份数据库以防数据丢失。

甲骨文在商业世界中的作用 甲骨文在商业世界中的作用 Apr 23, 2025 am 12:01 AM

Oracle不仅是数据库公司,还是云计算和ERP系统的领导者。1.Oracle提供从数据库到云服务和ERP系统的全面解决方案。2.OracleCloud挑战AWS和Azure,提供IaaS、PaaS和SaaS服务。3.Oracle的ERP系统如E-BusinessSuite和FusionApplications帮助企业优化运营。

See all articles