首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

oracle数据库索引增加和删除

1.增加索引 create index 索引名 on 表名 (字段名) --创建单一索引 tablespace 数据库名 pctfree 10 initrans 2 maxtrans...initial 64K next 1M minextents 1 maxextents unlimited ) nologging; create index 索引名...on 表名 (字段名,字段名) --创建复合索引 tablespace 数据库名 pctfree:预留空间,oracle中指为数据update操作保留的空间百分比,一般默认为10,当数据占用空间超过上限值时...initrans:处理每个块中行级锁事务,不建议随意修改默认值 maxtrans:控制最大并发事务 initial :索引初始化大小 next:索引扩展大小 minextents 1:最少一个块 maxextents...unlimited:无限扩展 一般情况下索引的上述属性值和建表时设置的值是一致的 2.删除索引 drop index 索引名; 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

1.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Oracle数据库,浅谈Oracle索引提高效率

    Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境。...在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。...索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容,能够有效帮助Oracle数据库提高效率,Oracle索引提高效率已经广泛应用到了Oracle数据库中。...9、自动选择索引如果表中有两个以上(包括两个)索引,其中有一个唯一性索引,而其他是非唯一性索引。在这种情况下,ORACLE将使用唯一性索引而完全忽略非唯一性索引。 ?...我们在学习如何使用Oracle索引提高Oracle数据库的效率时,有许多需要注意的细节,以避免产生多余的工作量。

    1.3K30

    Oracle数据库中的本地索引和全局索引的区别

    表可以按range,hash,list分区,表分区后,其上的索引和普通表上的索引有所不同,Oracle对于分区表上的索引分为2类,即局部索引和全局索引,下面分别对这2种索引的特点和局限性做个总结。...如果局部索引索引列以分区键开头,则称为前缀局部索引。 3. 如果局部索引的列不是以分区键开头,或者不包含分区键列,则称为非前缀索引。 4....全局索引可以分区,也可以是不分区索引,全局索引必须是前缀索引,即全局索引索引列必须是以索引分区键作为其前几列。 3....6. oracle9i以后对分区表做move或者truncate的时可以用update global indexes语句来同步更新全局分区索引,用消耗一定资源来换取高度的可用性。 7....表用a列作分区,索引用b做局部分区索引,若where条件中用b来查询,那么oracle会扫描所有的表和索引的分区,成本会比分区更高,此时可以考虑用b做全局分区索引 分区索引字典 DBA_PART_INDEXES

    4.4K10

    Oracle 视图索引

    第五章 视图索引的操作 5.1 视图的功能 一个视图实际上就是封装了一条复杂的查询语句 注:为了在当前用户模式中创建视图,要求数据库用户必须有create any view(创建任何视图)的权限。...条件] 例:删除9527的信息 delete fromemp_view where empno=9527; 5.6 建立只读视图 with read only:创建的视图只读 定义只读视图后,数据库用户只能在该视图上执行...若要在表中查询指定的记录,在没有索引的情况下,必须遍历整个表,而有了索引之后,只需要在索引中查询条件的索引字段值,就可以通过保存在索引中的rowid(系统为每个记录分配的物理地址)快速找到表中对应的记录...5.11 创建索引 建立索引的语法:create index语句 注:在创建索引时,要求用户具有create any index系统权限,若无此权限先授权。...因为大量的索引在进行插入,修改和删除操作时比没有索引花费更多的系统时间。

    1.2K30

    Oracle 分区索引

    分区索引(或索引分区)主要是针对分区表而言的。随着数据量的不断增长,普通的堆表需要转换到分区表,其索引呢,则对应的转换到分区索引。分区索引的好处是显而易见的。...1、分区索引的相关概念 a、分区索引的几种方式:表被分区而索引未被分区;表未被分区,而索引被分区;表和索引都被分区 b、分区索引可以分为本地分区索引以及全局分区索引 本地分区索引:    本地分区索引信息的存放依赖于父表分区...全局索引可以分区,也可以是不分区索引,全局索引必须是前缀索引,即索引列必须包含分区键。    全局索引分区中,一个分区索引能指向n个表分区,同时,一个表分区,也可能指向n个索引分区。   ...前缀和非前缀索引都可以支持索引分区消除,前提是查询的条件中包含索引分区键。 有前缀索引:    有前缀索引包含了分区键,即分区键列被包含在索引中。    有前缀索引支持本地分区索引以及全局分区索引。...-------------------------------- Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi SQL

    1.8K10

    Oracle|函数索引

    函数索引Oracle中,有一类特殊的索引,称为函数索引(Function-Based Indexes,FBI),它基于对表中列进行计算后的结果创建索引。...函数索引在不修改应用程序的逻辑基础上提高了查询性能。如果没有函数索引,那么任何在列上执行了函数的查询都不能使用这个列的索引。当在查询中包含该函数时,数据库才会使用该函数索引。...函数索引可以是一个B-Tree索引或位图索引。 踩坑背景 1.生产环境某交易表数据量大约在20w左右,在根据具体条件查询时,发现查询特别慢。...( initial 9M next 1M minextents 1 maxextents unlimited ); 4.但是再次查询时发现,查询依旧很慢,通过查看Oracle...maxtrans 255 storage ( initial 9M next 1M minextents 1 maxextents unlimited ); 6.使用Oracle

    1K50

    Oracle创建索引

    数据库索引是为了提高查询速度的一种数据结构。 索引的创建语句 索引的创建语句非常简单。 CREATE INDEX 索引名 ON 表名(列名); 除了单列索引,还可以创建包含多个列的复合索引。...CREATE INDEX 索引名 ON 表名(列名1, 列名2, 列名3, ...); 删除索引也非常简单。 DROP INDEX 索引名; 查看某个表中的所有索引也同样简单。...3.如果经常在某表的一个字段上进行Order By的话,则也应该在这个列上建立索引。 4.不应该在小表上建立索引索引的优缺点 索引主要是为了提高数据的查询速度,这就是索引的优点。...索引的优点 1.很大地提高了数据的检索速度。 2.创建唯一索引能保证数据库表中每一行数据的唯一性(唯一性约束)。 3.提高表与表之间的连接速度。 索引的缺点 1.索引需要占用物理空间。...关于查询优化器 当Oracle拿到SQL语句的时候,会使用查询优化器去分析该语句,并根据分析结果生成查询执行计划。也就是说,数据库是执行的查询计划,而不是SQL语句。

    68110

    oracle删除主键索引的sql语句_oracle主键索引和普通索引

    --根据索引名,查询表索引字段 select * from user_ind_columns where index_name='索引名'; --根据表名,查询一张表的索引 select * from...'; 一.oracle 表加索引 首先,查看目前已经建立的索引 select index_name from all_indexes where table_name = 'table1'; 2.接着,...user_idx on table (userid); 3.再重复第一步,验证一下,是否成功 二.oracle表删除索引 相信不少人遇到过ORA-02429: cannot drop index used...[oracle@DB-Server ~]$ oerr ora 2429 02429, 00000, “cannot drop index used for enforcement of unique/primary...主键修改&设置某一字段可以为null 1.oracle主键修改 1.1)首先查看需要修改的表的主键名,默认的情况下,数据库会自动分配 select * from user_cons_columns where

    3.9K10

    oracle删除索引_创建普通索引sql

    1.索引分类 a) 唯一索引, 作用是数据约束,保证数据唯一,还有就是数据索引,提高查询效率 b)一般索引,只有数据索引的作用, 2.唯一索引的建立 create unique index 索引名...on employee(empname); 3.一般索引 create index 索引名 on 表名(字段名) ok,现在我们为employee的address字段,添加一般索引 create index...,field2 desc); 4.函数索引 如果在我们的查询条件使用了函数,那么索引就不可用了。...price字段上做的索引了 ok,我们来创建函数索引 create index index_price on product(nvl(price,0.0)); 5.索引的删除 drop index 索引名...drop index idx_empname; 6.其它的 唯一索引能极大的提高查询速度,而且还有唯一约束的作用 一般索引,只能提高30%左右的速度 经常插入,修改,应在查询允许的情况下,尽量减少索引

    82510

    Oracle 索引的分类

    看到 itpub 论坛上的一个帖子,对 Oracle索引分类总结得言简意赅,于是收藏过来。又补充了一点RAC用到的反向索引的东西。...逻辑上:  Single column 单列索引 Concatenated 多列索引 Unique 唯一索引 NonUnique 非唯一索引 Function-based函数索引 Domain 域索引 ...物理上:  Partitioned 分区索引 NonPartitioned 非分区索引 B-tree: Normal 正常型B树 Rever Key 反转型B树  Bitmap 位图索引 索引结构:...; Bitmap:  适合于决策支持系统; 做UPDATE代价非常高; 非常适合OR操作符的查询;  基数比较少的时候才能建位图索引; 树型结构: 索引头  开始ROWID,结束ROWID(先列出索引的最大范围...,降低索引叶块的争用; 参考 http://www.stcore.com/oracle/2006-06-15/1150309026d27150.html

    76290

    Oracle删除索引规范

    1.背景概述 近期应用升级上线过程中,存在删除业务表索引的变更操作,且因删除索引导致次日业务高峰时期,数据库响应缓慢的情况,经定位是缺失索引导致。...与用户沟通,虽然变更中删除索引的需求很少,但也存在此类需求。 本文从数据库层面,旨在尽可能避免类似问题发生,制定删除索引的变更规范。...2.索引删除规范 若确认需要做索引删除,可以使用Oracle提供的两个功能特性协助判断删除索引是否会有隐患。...3.根本解决方案及建议 删除索引的情景一般是考虑到索引数量过多,从而导致索引维护成本和空间使用成本增加。...一般原则是首先评估删除冗余索引,比如某张表同时有两个索引索引A是c1列,索引B是c1,c2两列的复合索引,则一般可以选择删除索引A;但需要注意,如果索引B是c2和c1列的复合索引,就通常不可以删除索引

    1.4K30

    Oracle 索引监控与外键索引

    Oracle 监控索引特性为我们提供了一个大致判断索引是否被使用的情形。之所以这么说,是因为在Oracle 10g 中收集统计信息时会导致索引被监控,此并非sql语句而产生。...其次对于存在子表存在外键的情形,对于主表进行操作时是否会导致索引被监控呢?下面描述的是这个话题。...--------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.1.0...,如果子表上存在外键约束且存在外键索引,对于主表得DML操作不会使得子表索引被使用     b、尽管子表索引不会由于主表DML操作被监控到,但如果子表外键索引不存在,主表上的DML会产生更多的一致读(相对外键索引存在...)     c、由上可知,对于外键索引未被监控到的情形,不可盲目的认为该索引无效而删除     d、对于子表不存在索引的情形,对于主表上的主键的更新以及删除主表中的一行都将导致整个子表被锁住

    64820
    领券