精华内容
下载资源
问答
  • oracle创建索引

    2020-09-17 17:21:20
    oracle创建索引 数据库索引是为了提高查询速度的一种数据结构。 索引的创建语句 索引的创建语句非常简单。 CREATE INDEX 索引名 ON 表名(列名); 除了单列索引,还可以创建包含多个列的复合索引。 CREATE INDEX 索引...

    数据库索引是为了提高查询速度的一种数据结构。

    索引的创建语句

    索引的创建语句非常简单。

    CREATE INDEX 索引名 ON 表名(列名);
    除了单列索引,还可以创建包含多个列的复合索引。

    CREATE INDEX 索引名 ON 表名(列名1, 列名2, 列名3, …);
    删除索引也非常简单。

    DROP INDEX 索引名;
    查看某个表中的所有索引也同样简单。

    SELECT * FROM ALL_INDEXES WHERE TABLE_NAME = ‘表名’
    还可以查看某个表中建立了索引的所有列。

    SELECT * FROM ALL_IND_COLUMNS WHERE TABLE_NAME = ‘表名’

    索引的建立原则

    1.索引应该建立在WHERE子句中经常使用的列上。如果某个大表经常使用某个字段进行查询,并且检索的啊行数小于总表行数的5%,则应该考虑在该列上建立索引。

    2.对于两个表连接的字段,应该建立索引。

    3.如果经常在某表的一个字段上进行Order By的话,则也应该在这个列上建立索引。

    4.不应该在小表上建立索引。

    索引的优缺点

    索引主要是为了提高数据的查询速度,这就是索引的优点。但是当进行增删改的时候,会更新索引。因此索引越多,增删改的速度就会越慢,因为有一个维护索引的过程。创建索引之前需要权衡该字段是否经常发生增删改操作,否则可能会带来负优化的问题。

    索引的优点

    1.很大地提高了数据的检索速度。

    2.创建唯一索引能保证数据库表中每一行数据的唯一性(唯一性约束)。

    3.提高表与表之间的连接速度。

    索引的缺点

    1.索引需要占用物理空间。

    2.当对表中的数据进行增加、删除和修改的时候,索引也要动态地进行维护,降低数据的维护速度。

    关于查询优化器

    当Oracle拿到SQL语句的时候,会使用查询优化器去分析该语句,并根据分析结果生成查询执行计划。也就是说,数据库是执行的查询计划,而不是SQL语句。

    查询优化器有RBO(Rule-Based-Optimizer,基于规则的查询优化器)和CBO(Cost-Based-Optimizer,基于成本的查询优化器),其中基于规则的查询优化器在10g的版本中彻底消失了。原因是因为RBO最后的查询都是全表扫描,而CBO会根据统计信息选择最优的查询方案。

    因此,CBO一旦发现有索引的存在,并且这个索引能帮助提高查询速度,就是使用通过索引进行查询的方法。

    转载:https://www.cnblogs.com/yanggb/p/11221508.html

    展开全文
  • Oracle创建索引

    2010-04-28 09:08:33
    Oracle创建索引语法 oracle的索引分为5种:唯一索引,组合索引,反向键索引,位图索引,基于函数的索引 创建索引的标准语法: CREATE INDEX 索引名 ON 表名 (列名) TABLESPACE...

    Oracle创建索引语法

    oracle的索引分为5种:唯一索引,组合索引,反向键索引,位图索引,基于函数的索引

    创建索引的标准语法:

    CREATE INDEX 索引名 ON 表名 (列名)

    TABLESPACE 表空间名;



    Link URL: http://www.dotudo.com/2008/09/16/oracle-create-index/

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14117433/viewspace-661516/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/14117433/viewspace-661516/

    展开全文
  • Oracle 创建索引

    2019-10-16 16:44:08
       索引是数据库服务器用来加快检索的速度,再通过加了索引的列进行检索 时候,数据库会自动使用索引,使用索引所在的列值...  在创建主键约束,唯一键约束,主键约束时会自动创建索引 2.手动创建索引:   用...

       索引是数据库服务器用来加快检索的速度,再通过加了索引的列进行检索
    时候,数据库会自动使用索引,使用索引所在的列值进行快速检索,快速定位到
    真实的数据内容。

    哪些场合使用索引?

    1.频繁使用where字句或连接条件
    2.表比较大,数量多
    3.列的取值范围广
    4.查询结果占比比较小

    索引创建

    1.自动创建索引:
      在创建主键约束,唯一键约束,主键约束时会自动创建索引
    2.手动创建索引:
      用户可以在列上创建唯一索引
    索引创建
    CREATE INDEX 索引名字 ON table(column);
    如:

      create index   TB_SYS_DICTIONARY_idx  on   TB_SYS_DICTIONARY(DICT_NAME);
    

    创建索引之后,查看索引

    select uc.index_name,uc.COLUMN_NAME,ui.uniqueness 
    from user_indexes ui,  user_ind_columns uc 
    where ui.index_name=uc.INDEX_NAME
    and uc.TABLE_NAME='TB_SYS_DICTIONARY'
    

    其中index_name,COLUMN_NAME,显示的时索引名称和表中字段名称,更多信息可以单独
    查询 user_indexes,user_ind_columns这两个表,查看所有与序列有关的信息
    还有一个uniqueness字段,这是显示该索引是自动创建的还是手动创建的,UNIQUE表示
    自动创建,NONUNIQUE标识手动创建,如下刚创建的索引所示

    当然,创建的索引有误或者不常用时可以删除:

    drop index  TB_SYS_DICTIONARY_idx;
    

    删除索引之后查询如下图所示:
    在这里插入图片描述
    显示已经删除索引成功,查询中不再显示!

    展开全文
  • oracle 创建索引

    千次阅读 多人点赞 2014-12-31 09:19:51
    适当的使用索引可以提高数据检索速度,可以给经常需要进行查询的字段创建索引oracle的索引分为5种:唯一索引,组合索引,反向键索引,位图索引,基于函数的索引 创建Oracle索引的标准语法: CREATE INDEX ...

    适当的使用索引可以提高数据检索速度,可以给经常需要进行查询的字段创建索引。

    oracle的索引分为5种:唯一索引,组合索引,反向键索引,位图索引,基于函数的索引

    创建Oracle索引的标准语法:

    CREATE INDEX 索引名 ON 表名 (列名)
    
    TABLESPACE 表空间名;


    创建唯一索引:

    CREATE unique INDEX 索引名 ON 表名 (列名)
    
    TABLESPACE 表空间名;

     

    创建组合索引:

    CREATE INDEX 索引名 ON 表名 (列1,列2)
    
    TABLESPACE 表空间名;

     

    创建反向键索引:

    CREATE INDEX 索引名 ON 表名 (列名) reverse
    
    TABLESPACE 表空间名;


     

     

     

     

    展开全文
  • ORACLE 创建索引

    2017-07-22 11:12:56
    语法结构:创建索引 CREATE [UNIQUE] INDEX index_name ON table_name(column_name[,column_name…])  语法解析: 1. UNIQUE:指定索引列上的值必须是唯一的。称为唯一索引。 2. index_name:指定索引名。 3. ...
  • ORACLE创建索引

    2017-11-24 11:54:00
    适当的使用索引可以提高数据检索速度,可以给经常需要进行查询的字段创建索引   oracle的索引分为5种:唯一索引,组合索引,反向键索引,位图索引,基于函数的索引   创建索引的标准语法: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,644
精华内容 2,257
关键字:

oracle创建索引