zoukankan      html  css  js  c++  java
  • oracle索引技术——天天笔记(2)

    函数索引

    SELECT *

      FROM DEMOT

     WHERE F7 = 'F';

    SELECT *

      FROM DEMOT

     WHERE LOWER (F7) = 'f';

    F7上本来是有位图索引的,但是使用了LOWER函数后,就进行了全表扫面。

    下面我们来创建F7列上的函数索引LOWER

    CREATE INDEX FUN_INDEX

       ON DEMOT (LOWER (F7));               5 seconds

    再看执行计划,发生了变化,使用了索引扫描。

    聚合函数本身在oracle就创建了索引。

    复合索引/组合索引

    一个问题:创建索引时,如何安排列的顺序呢?

    建议将最频繁访问的列放在索引中最靠前的位置;避免使用低基数列作为符合索引的前导列。

    只有当应用程序的WHERE子句中不同的键一起频繁出现,并且目前正在使用“与”操作组合这些列时,才建立符合索引。

    反向键索引

    CREATE INDEX REV_INDEX

       ON DEMOT (F2)

       REVERSE;                              7 seconds

    创建索引时,在插入索引前,反转索引列的值,这样插入的顺序键值就不会导致最右侧的索引块的争用,数据库不会把新值存储到相同的“热”索引块,而是把他们分别存储到跨越大量块的新条目中,减少对繁忙块的争用。

    主键的实际值是连续排列的,但是索引值却不是连续排列的。

    分区索引

    请先了解分区相关知识http://blog.csdn.net/chiweitree/article/details/8111953

  • 相关阅读:
    第二十次CSP考试有感
    chan数据结构实现原理
    记一次udp端口数据流过程
    Envoy 部署类型
    后K8S时代的微服务
    ESP32-使用有刷直流电机笔记
    ESP32-使用ADC笔记
    网络安全黑白名单设置
    网络安全并发数限制与连接频率限制
    apache与nginx服务器启用https功能
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3065407.html
Copyright © 2011-2022 走看看