美文网首页
Oracle中含常数的复合索引

Oracle中含常数的复合索引

作者: 这货不是王马勺 | 来源:发表于2021-11-18 10:23 被阅读0次

参考https://blog.csdn.net/badly9/article/details/21286605

适用场景:通过where 列名 is null来查找一些数据
例如:

select count(*) from test_objects where object_id is null;

因为B-Tree索引不会记录null所以只能使用全表扫描。产生了大量的consistent gets
下面我们来建立含常数的复合索引,并查询执行:

create index idx_oid2_test_objects on test_objects(object_id,1);

我们可以看到组合索引首列为object_id,也就是条件列,第二列是常量1
这时候对于刚才的查询select count(*) from test_objects where object_id is null;来说是可以使用索引的

查看执行计划发现 |* 2 | INDEX RANGE SCAN| IDX_OID2_TEST_OBJECTS | 1 | 5 | 2 (0)|
00:00:01 |

Statistics


      1  recursive calls

      0  db block gets

      3  consistent gets

      2  physical reads

      0  redo size

    410  bytes sent via SQL*Net to client

    385  bytes received via SQL*Net from client

      2  SQL*Net roundtrips to/from client

      0  sorts (memory)

      0  sorts (disk)

      1  rows processed

————————————————
可以看到此时拥有含场数的复合索引之后就能够使用该索引查找null,极大的提升了执行效率。consistent gets从74808降到了3.效果非常明显。

版权声明:本文为CSDN博主「badly9」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/badly9/article/details/21286605

相关文章

  • Oracle中含常数的复合索引

    参考https://blog.csdn.net/badly9/article/details/21286605[h...

  • index-2

    只要列中包含NULL值是不会在索引数据中;复合索引中某一列包含NULL 的值,那该列在复合索引中是无效的。所以在建...

  • MySQL-联合索引

    一、什么是联合索引 两个或更多个列上的索引被称作联合索引,联合索引又叫复合索引。对于复合索引:Mysql从左到右的...

  • mysql优化

    索引优化总结。 前言 下诉情况中如果没有特别说明,都是默认都是索引都是指复合索引,查看索引长度 EXPLAIN +...

  • MongoDB索引

    1. 单字段索引 对普通字段创建索引 对内嵌的文档字段创建索引 2. 复合索引 复合索引的字段顺序、字段的升降序对...

  • Mysql Tuning Practice

    最近项目开发中,我负责给数据库加索引。Mysql提供了丰富的索引类型,主要是B树索引(前缀索引、复合索引),Has...

  • 这些不走索引的SQL

    使用索引时,有一些技巧:1.索引不会包含有NULL的列只要列中包含有NULL值,都将不会被包含在索引中,复合索引中...

  • mongodb索引操作

    查看索引 创建复合索引:"0"字段升序“p”降序 删除索引

  • oracle数据库之索引书目录

    oracle数据库之索引 oracle数据库之创建一个索引(Creating an Index Explicitl...

  • [SQL]ORACLE的强制索引的方法

    ORACLE的强制索引 在一些场景下,可能ORACLE不会自动走索引,这时候,如果对业务清晰,可以尝试使用强制索引...

网友评论

      本文标题:Oracle中含常数的复合索引

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