美文网首页linux redhat & Oracle
关于局部前缀索引和非前缀索引

关于局部前缀索引和非前缀索引

作者: 重庆思庄 | 来源:发表于2019-05-05 15:35 被阅读0次

局部分区索引又分为两类:

    Local prefixed index(局部前缀索引)

    Local nonprefixed index(局部非前缀索引)

Ⅰ:局部前缀索引:以分区键作为索引定义的第一列

Ⅱ:局部非前缀索引:分区键没有作为索引定义的第一列

示例语句:

create table local_index_example(

  id number(2),

  name varchar2 (50),

  sex varchar2(10)

  )

  partition by range (id)

  (  partition part_1 values less than (5), 

      partition part_2 values less than (10)

  )

--

创建局部前缀索引;分区键(id)作为索引定义的第一列

create index local_prefixed_index

on local_index_example (id, name) local;

--

创建局部非前缀索引;分区键未作为索引定义的第一列

create index local_nonprefixed_index

on local_index_example (name, id) local;

注意:判断局部索引是前缀还是非前缀的只需要看分区键是否作为索引定义的第一列

3. 什么时候该使用前缀索引?什么时候该使用非前缀索引?

对于该使用前缀还是非前缀索引,这完全取决于你的实际需求,你应该尽量从实际角度出发选择合适的索引方式以充分利用到其分区消除的特性。

如果查询首先访问索引的话,它能否实现分区消除完全取决于查询中使用的谓词(即Where筛选条件);

比如用上面的 local_index_example 表举例,现有两个查询:

①: select … from local_index_example where id = :id and name = :name;

②: select … from local_index_example where name = :name;

对于以上两个查询来说,如果查询第一步是走索引的话,则:

局部前缀索引 local_prefixed_index 只对 ① 有用;

局部非前缀索引 local_nonprefixed_index 则对 ① 和 ② 均有用;

如果你有多个类似 ① 和 ② 的查询的话,则可以考虑建立局部非前缀索引;如果平常多使用查询 ① 的话,则可以考虑建立局部前缀索引;

总之,重点是你要尽可能保证查询包含的谓词允许索引分区消除

相关文章

  • 关于局部前缀索引和非前缀索引

    局部分区索引又分为两类: Local prefixed index(局部前缀索引) Local nonpr...

  • 前缀索引,中看也中用!

    @[toc]最近几篇文章,都是在和大家聊索引的问题,今天我们来看看前缀索引。 1.什么是前缀索引 所谓前缀索引说白...

  • MySQL索引机制(详细+原理+解析)

    一.索引的类型与常见的操作 前缀索引 MySQL 前缀索引能有效减小索引文件的大小,提高索引的速度。但是前缀索引也...

  • 高性能的索引策略【高性能mysql第三版笔记】

    1. where右边使用独立的列 2. 前缀索引和索引选择性 前缀索引:索引最开始的部分字符,可以大大节约索引空间...

  • Mysql优化

    一.索引科普 主键索引 唯一索引 普通索引 单列索引 多列索引 聚簇索引 非聚簇索引 前缀索引 全文索引 二.优化...

  • MySQL实战 | 11 怎么给字符串字段加索引?

    两种: 全字段索引 前缀索引 举例: 可以对 email 字段创建全字段索引,或者前缀索引。 区别 1、全字段索引...

  • mysql笔记

    前缀索引:使用字段的部分前缀做为索引,可以有效减少索引的长度 1)、创建索引 alter table testdb...

  • 高性能索引策略

    索引的优点: 索引策略: 独立的列 前缀索引和索引选择性 多列索引

  • Mysql

    索引(一般监控到慢SQL,才会建索引) 前缀索引 常见索引误区 多列联合索引 左前缀例子(是一种联合索引的匹配规则...

  • Mysql前缀索引长度确定方法

    MySQL 前缀索引能有效减小索引文件的大小,提高索引的速度。但是前缀索引也有它的坏处:MySQL 不能在 ORD...

网友评论

    本文标题:关于局部前缀索引和非前缀索引

    本文链接:https://www.haomeiwen.com/subject/pckhoqtx.html