• Oracle 索引 index


        索引是一个模式对象,其中包含每个值的条目,该条目出现在表或集群的索引列中,并提供对行的直接快速访问。

        创建一个索引:  create index 索引名 on 表名 (字段名);

        删除索引:  drop index 索引名

        建立索引的目的就是为了加快查询速度,建立索引后会使DML操作效率慢,但是对用户查询会提高效率。删除一个表时,相对应的索引也会删除。另外,索引是会进行排序。

        创建索引就是为了减少物理读,索引会减少扫描的时间。在经常要用到where的子句的字段,应该使用索引,另外还要看所查询的数据与全部数据的百分比,表越大,查询的记录越少,索引的效率就越高.;

    举例:

       CREATE INDEX upper_ix ON employees (UPPER(last_name));

    使用:

         SELECT first_name, last_name  FROM employees WHERE UPPER(last_name) IS NOT NULL   ORDER BY UPPER(last_name);

         为了增加Oracle数据库使用索引而不是执行全表扫描的可能性,请确保函数在后续查询中返回的值不为空。如果没有WHERE子句,Oracle数据库可能会执行全表扫描。

    注意事项:

    WHERE之后的字段条件,需与索引一致,否则可能失效。

    如: CREATE INDEX ix_birth  mployees (birthday);  

    查询语句:  select  birthday   from  mployees  where to_char(birthday,'YYYY-MM')='2018-01';

    结果:索引没有效果

  • 相关阅读:
    2019-2020nowcoder牛客寒假基础2
    2019-2020nowcoder牛客寒假基础1
    CF1291
    Daily Codeforces
    2019ICPC 上海现场赛
    Codeforces Round #686 (Div. 3)
    Codeforces Round #685 (Div. 2)
    Educational Codeforces Round 98 (Rated for Div. 2)
    Codeforces Round #654 (Div. 2)
    Codeforces Round #683 (Div. 2, by Meet IT)
  • 原文地址:https://www.cnblogs.com/walkwithmonth/p/8322079.html
Copyright © 2020-2023  润新知