分区表建立索引

简介: 全局索引============CREATE INDEX month_ix ON sales(sales_month)本地索引============CREATE INDEX loc_dept_ix ON dept(deptno) LOCAL;全局分区索引============CREATE IND...

全局索引
============
CREATE INDEX month_ix ON sales(sales_month)

本地索引
============
CREATE INDEX loc_dept_ix ON dept(deptno) LOCAL;

全局分区索引
============
CREATE INDEX month_ix ON sales(sales_month)
   GLOBAL PARTITION BY RANGE(sales_month)
      (PARTITION pm1_ix VALUES LESS THAN (2)
       PARTITION pm2_ix VALUES LESS THAN (3)
       PARTITION pm3_ix VALUES LESS THAN (4)
       PARTITION pm4_ix VALUES LESS THAN (5)
       PARTITION pm5_ix VALUES LESS THAN (6)
       PARTITION pm6_ix VALUES LESS THAN (7)
       PARTITION pm7_ix VALUES LESS THAN (8)
       PARTITION pm8_ix VALUES LESS THAN (9)
       PARTITION pm9_ix VALUES LESS THAN (10)
       PARTITION pm10_ix VALUES LESS THAN (11)
       PARTITION pm11_ix VALUES LESS THAN (12)
       PARTITION pm12_ix VALUES LESS THAN (MAXVALUE));

分区表和一般表一样可以建立索引,分区表可以创建局部索引和全局索引。当分区中出现许多事务并且要保证所有分区中的数据记录的唯一性时采用全局索引。
3.1     局部索引分区的建立:
SQL> create index dinya_idx_t on dinya_test(item_id)
  2  local
  3  (
  4     partition idx_1 tablespace dinya_space01,
  5     partition idx_2 tablespace dinya_space02,
  6     partition idx_3 tablespace dinya_space03
  7  );

Index created.

SQL>


看查询的执行计划,从下面的执行计划可以看出,系统已经使用了索引:
SQL> select * from dinya_test partition(part_01) t where t.item_id=12;

Execution Plan
----------------------------------------------------------
   0      SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=1 Bytes=187)
   1    0   TABLE ACCESS (BY LOCAL INDEX ROWID) OF 'DINYA_TEST' (Cost=
          2 Card=1 Bytes=187)
   2    1     INDEX (RANGE SCAN) OF 'DINYA_IDX_T' (NON-UNIQUE) (Cost=1
           Card=1)
Statistics
----------------------------------------------------------
          0  recursive calls
          0  db block gets
          4  consistent gets
          0  physical reads
          0  redo size
        334  bytes sent via SQL*Net to client
        309  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          1  sorts (memory)
          0  sorts (disk)
          2  rows processed

SQL>

3.2     全局索引分区的建立。
全局索引建立时global 子句允许指定索引的范围值,这个范围值为索引字段的范围值:
SQL> create index dinya_idx_t on dinya_test(item_id)
  2  global partition by range(item_id)
  3  (
  4     partition idx_1 values less than (1000) tablespace dinya_space01,
  5     partition idx_2 values less than (10000) tablespace dinya_space02,
  6     partition idx_3 values less than (maxvalue) tablespace dinya_space03
  7  );

Index created.

SQL>


        本例中对表的item_id字段建立索引分区,当然也可以不指定索引分区名直接对整个表建立索引,如:
SQL> create index dinya_idx_t on dinya_test(item_id);

Index created.

SQL>


        同样的,对全局索引根据执行计划可以看出索引已经可以使用:
SQL> select * from dinya_test t where t.item_id=12;

Execution Plan
----------------------------------------------------------
   0      SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=3 Bytes=561)
   1    0   TABLE ACCESS (BY GLOBAL INDEX ROWID) OF 'DINYA_TEST' (Cost
          =2 Card=3 Bytes=561)

   2    1     INDEX (RANGE SCAN) OF 'DINYA_IDX_T' (NON-UNIQUE) (Cost=1
           Card=3)
Statistics
----------------------------------------------------------
          5  recursive calls
          0  db block gets
         10  consistent gets
          0  physical reads
          0  redo size
        420  bytes sent via SQL*Net to client
        309  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          3  sorts (memory)
          0  sorts (disk)
          5  rows processed

目录
相关文章
|
Web App开发 存储 前端开发
一键同步,无处不在的书签体验:探索多电脑Chrome书签同步插件
一键同步,无处不在的书签体验:探索多电脑Chrome书签同步插件
460 0
|
存储 算法 NoSQL
6 种常见分布式唯一ID生成策略及它们的优缺点对比
全局唯一的 ID 几乎是所有系统都会遇到的刚需。这个 id 在搜索, 存储数据, 加快检索速度 等等很多方面都有着重要的意义
6 种常见分布式唯一ID生成策略及它们的优缺点对比
|
机器学习/深度学习 移动开发 自然语言处理
大模型Prompt-Tuning技术入门(二)
Prompt-Tuning是一种在大型语言模型中进行下游任务适配的技术,起源于GPT-3的In-context Learning和Demonstration Learning。它通过构建Prompt(提示)和Verbalizer(标签映射)来转换任务,比如将分类任务转化为填空问题。PET模型是Prompt-Tuning的早期实践,通过固定模板(Pattern)和标签词(Verbalizer)来实现。Prompt-Oriented Fine-Tuning是Prompt-Tuning的一种形式,将任务转换为与预训练任务相似的形式,如BERT的MLM任务。
|
9月前
|
机器学习/深度学习 存储
RT-DETR改进策略【模型轻量化】| PP-LCNet:轻量级的CPU卷积神经网络
RT-DETR改进策略【模型轻量化】| PP-LCNet:轻量级的CPU卷积神经网络
351 0
RT-DETR改进策略【模型轻量化】| PP-LCNet:轻量级的CPU卷积神经网络
|
人工智能 自然语言处理 搜索推荐
AI技术在智能客服系统中的应用与挑战
【9月更文挑战第32天】本文将探讨AI技术在智能客服系统中的应用及其面临的挑战。我们将分析AI技术如何改变传统客服模式,提高服务质量和效率,并讨论在实际应用中可能遇到的问题和解决方案。
839 65
|
12月前
|
JavaScript
原生JS实现斗地主小游戏
这是一个原生的JS网页版斗地主小游戏,代码注释全。带有斗地主游戏基本的地主、选牌、提示、出牌、倒计时等功能。简单好玩,欢迎下载
290 7
|
搜索推荐 关系型数据库 MySQL
#874358#基于django/neo4j的电视剧浏览数据推荐系统
#874358#基于django/neo4j的电视剧浏览数据推荐系统
373 0
|
机器学习/深度学习 数据采集 数据可视化
R语言SVR支持向量机多元回归、网格搜索超参数优化预测猪粮比价格变动率数据
R语言SVR支持向量机多元回归、网格搜索超参数优化预测猪粮比价格变动率数据
|
XML 前端开发 JavaScript
前端开发语言有哪些?
前端开发语言有哪些?
1197 0
|
消息中间件 前端开发 测试技术
DDD - 分层架构:有效降低层与层之间的依赖
DDD - 分层架构:有效降低层与层之间的依赖
704 0