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

    2011-05-19 22:55:26
    删除索引 drop index CUS_LOWER_ENERGY_JLDNY; 新建一个索引 create index CUS_LOWER_ENERGY_JLDNY on CUS_LOWER_ENERGY (JLDBH, DLNY,HWBZ) tablespace TS_DSM_INDEX pctfree 10 initrans 2 maxtrans 255 ...
  • 索引是关系数据库中用于存放每一条记录的一种对象,主要目的是加快数据的读取速度和完整性检查。在数据库设计阶段与数据库结构时就要考虑。应用系统的性能直接与索引的建立是否合理直接有关。
  • Oracle删除索引,为啥删不掉 在Oracle创建个普通索引,删不掉,上网找了很多方法,大体都是这样 实践发现: 执行 alter table stu drop index ix03;报错 执行 drop index ix03 on stu; 也报错 后来才发现,应该...

    Oracle 中删除索引,为啥删不掉

    在Oracle创建个普通索引,删不掉,上网找了很多方法,大体都是这样
    在这里插入图片描述

    实践发现:
    执行 alter table stu drop index ix03;报错
    执行 drop index ix03 on stu; 也报错
    在这里插入图片描述
    后来才发现,应该这样删除

    *drop index ix03

    简单粗暴,还有效
    Oracle中索引和表是独立存在的,删除时不用加上表名了,Oracle是这样的,mysql我就不知道了

    展开全文
  • 清除Oracle中无用索引

    2020-03-03 23:41:28
    基于功能的Oracle索引使得数据库管理人员有可能 在数据表的行上过度分配索引。过度分配索引会严重影响关键Oracle数据表的性能。在Oracle9i出现以前,没有办法确定SQL查询没有使用的索引。让我们看看Oracle9i提供了...
  • Oracle删除数据索引

    千次阅读 2020-08-19 17:06:06
    首先查到表中的现有索引: select * from user_indexes where table_name in ('表名',''); 删除索引: drop index 索引名;

    首先查到表中的现有索引:

    select * from user_indexes where table_name in ('表名','');

    删除索引:

    drop index 索引名;

    展开全文
  • oracle新增、删除索引以及主键修改

    千次阅读 2020-03-03 17:19:28
    --根据索引名,查询表索引字段 select * from user_ind_columns where index_name='索引名'; --根据表名,查询一张表的索引 select * from user_indexes where table_name='表名'; --根据索引名,查询属于哪张表 ...
    --根据索引名,查询表索引字段
    select * from user_ind_columns where index_name='索引名';
    --根据表名,查询一张表的索引
    select * from user_indexes where table_name='表名';
    --根据索引名,查询属于哪张表
    select * from all_indexes where index_name ='INX_DATA_QUERY_DEF';
    

    一.oracle 表加索引

    首先,查看目前已经建立的索引

    select index_name from all_indexes where table_name = 'table1';
    

    2.接着,建立索引

    create index 索引名 on 表名(列名);
    
    
    create index table1_album_idx on table (aid);
    create index table1_user_idx on table (userid);
    

    3.再重复第一步,验证一下,是否成功

    二.oracle表删除索引

    相信不少人遇到过ORA-02429: cannot drop index used for enforcement of unique /primary key 这个错误,对应的中文提示“ORA-02429: 无法删除用于强制唯一/主键的索引”,其实从错误提示信息已经很明显了。下面还是用一个简单的例子述说一下该错误的来龙去脉。

    ORA-02429错误的原因是因为用户试图删除一个用于强制唯一/主键的索引,解决方法也很简单,删除对应的约束就会自动删除该索引。

    [oracle@DB-Server ~]$ oerr ora 2429

    02429, 00000, "cannot drop index used for enforcement of unique/primary key"

    // *Cause: user attempted to drop an index that is being used as the

    // enforcement mechanism for unique or primary key.

    // *Action: drop the constraint instead of the index.

    1:新建测试表TAB_TEST, 如下所示:

    CREATE TABLE TAB_TEST
    (
      JOB_ORDER_NO    VARCHAR2(20 BYTE),
      DIMM_ID         NUMBER,
      MRP_GROUP_CD    VARCHAR2(10 BYTE),
      ITEM_CAT        VARCHAR2(20 BYTE),
      REQUIRED_DATE   DATE,
      PURCHASED_BY    VARCHAR2(10 BYTE),
      USED_BY         VARCHAR2(10 BYTE),
      SUPPLIER_CD     VARCHAR2(10 BYTE)
    )

    2:添加主键约束,如下所示

    ALTER TABLE TAB_TEST
     ADD CONSTRAINT PK_TAB_TEST
      PRIMARY KEY
      (JOB_ORDER_NO, DIMM_ID, MRP_GROUP_CD, ITEM_CAT);

    3:查看测试表的索引信息

    SQL> SELECT INDEX_NAME FROM DBA_INDEXES WHERE TABLE_NAME='TAB_TEST';
     
    INDEX_NAME
    ------------------------------
    PK_TAB_TEST

    4:查看测试表的约束信息:

    SQL> SELECT CONSTRAINT_NAME FROM DBA_CONSTRAINTS WHERE TABLE_NAME='TAB_TEST';
     
    CONSTRAINT_NAME
    ------------------------------
    PK_TAB_TEST

    5:删除测试表的索引PK_TAB_TEST

    SQL> DROP INDEX PK_TAB_TEST;
    DROP INDEX PK_TAB_TEST
               *
    ERROR at line 1:
    ORA-02429: cannot drop index used for enforcement of unique/primary key

    解决方法:

    删除对应的约束就会自动删除该索引。而不是直接去删除该索引。很多菜鸟就会直接这样做!

    SQL> ALTER TABLE TAB_TEST DROP CONSTRAINT PK_TAB_TEST;
     
    Table altered.
     
    SQL> SELECT CONSTRAINT_NAME FROM DBA_CONSTRAINTS WHERE TABLE_NAME='CONSTRAINT_NAME';
     
    no rows selected
     
    SQL> SELECT INDEX_NAME FROM DBA_INDEXES WHERE TABLE_NAME='TAB_TEST';
     
    no rows selected
     
    SQL> 
     

    三.oracle主键修改&设置某一字段可以为null

    1.oracle主键修改

    1.1)首先查看需要修改的表的主键名,默认的情况下,数据库会自动分配

    select * from user_cons_columns where table_name='表名'

    注意表名可能需要大写,否则可能查不出来。

    1.2)删除主键约束

    alter table 表名 drop constraint 主键名(通过上一步查找出来)
    

    1.3)添加主键约束

    alter table 表名 add constraint 主键名 primary key(字段名1,字段名2...);
    

    主键名命名规则建议为pk_表名

    2.oracle设置字段可以为空

    alter table 表名 modify 字段名 null;
    
    展开全文
  • 主要介绍了oracle分区的失效和重建代码示例,小编觉得挺不错的,这里分享给大家,供需要的朋友参考。
  • oracle索引创建及删除

    2020-10-12 15:31:48
    1、创建普通索引 create index index_name on table(column_name); 2、创建唯一索引 create unique indexindex_...4、删除索引 drop index index_name; 5、查询索引 --根据索引名,查询表索引字段(索引名需大..

    1、创建普通索引

    create index index_name on table(column_name);

    2、创建唯一索引

    create unique index index_name on table(column_name);

    3、创建组合索引

    create index index_name on table(column_name1,column_name2);

    4、删除索引

    drop index index_name;

    5、查询索引

    --根据索引名,查询表索引字段(索引名需大写)

    select * from user_ind_columns where index_name='索引名';

    --根据表名,查询一张表的索引(表名需要大写)

    select * from user_indexes where table_name='表名';

    展开全文
  • oracle数据库删除索引的正确方式

    千次阅读 2020-06-30 15:52:59
    我们会选择删除这个索引。 但是因为业务场景比较多,又不是所有代码都是一个人写的。所以直接drop索引可能导致意想不到的后果,ps,之前订单表索引失效就是血的教训,不过那次是由于没有及时收集统计信息。但也充分...
  • Oracle 删除索引

    2020-07-31 10:38:27
    环境 Oracle11g sql drop index 索引名;
  • oracle创建索引: CREATE INDEX 索引名 on要创建索引的...oracle索引,索引的建立、修改、删除 索引 索引是关系数据库中用于存放每一条记录的一种对象,主要目的是加快数据的读取速度和完整性检查。建立索引是一项技...
  • Oracle创建删除索引

    千次阅读 2019-05-06 10:27:44
    索引的创建 create index index_name ontable(column_name1,column_name2); 创建唯一索引 create index unique index_name ontable(column_name1,...索引删除。 drop index index_name; 以下两条语句是...
  • 1、在删除索引时,提示ORA-02429:无法删除用于强制唯一/主键的索引,如下图所示: 2、主键唯一索引,不允许单独删除而保留主键约束,但是可以保留唯一索引单独删除主键约束。因此要想删除引唯一索引,只能先删除...
  • Oracle如何对索引进行增 删 查 改操作呢 1、新建单一列的索引索引 create index 索引名称 on 表名(列名) 2、新建组合索引(和单一索引基本相同,表名后面的列多了一点) create index 索引名称 on 表名(列名1,列名...
  • 2、删除索引 drop index 索引名; 3、创建组合索引 create index 索引名 on 表名(列名1,列名2,列名3,…); 查看目标表中已添加的索引 –在数据库中查找表名 select * from user_tables where table_name like ...
  • oracle 添加、修改、删除、查看索引

    万次阅读 2018-05-09 19:24:18
    1.说明 1)索引是数据库对象之一,...索引的关键在于通过一组排序后的索引键来取代默认的全表扫描检索方式,从而提高检索效率 3)索引在逻辑上和物理上都与相关的表和数据无关,当创建或者删除一个索引时,不会...
  • 注意:大写 1、创建单一索引 create index 索引名称 on ...3、删除索引 drop index 索引名称; 4、查询表的索引 select * from all_indexes where table_name = ‘表名称’; 5、查询表的索引列 select* from all_i...
  • Oracle索引技术 ((美)Darl Kuhn) 中文.pdf 个人收集电子书,仅用学习使用,不可用于商业用途,如有版权问题,请联系删除
  • 1. 监控当前用户所有索引 ...2. 一段时间后查询从未被使用的索引删除无用索引 注意:视具体业务情况,选择一周后,一月后,两月后(总之要保证应用的所有SQL都至少跑一遍) 2.1 查看这段时间内...
  • 2、删除索引 drop index 索引名; 3、创建组合索引 create index 索引名 on 表名(列名1,,列名2); 4、查询索引 --根据索引名,查询表索引字段 select * from user_ind_columns where index_name='索引名'; --...
  • 第一步 删除表与索引之间的联系 ALTER TABLE SPXGDITEM DROP CONSTRAINT PK_SPXGDITEM; 第二步 执行删除索引语句 DROP INDEX PK_SPXGDITEM; 第三步 若要重新创建索引则执行 create unique index PK_SPXGDITEM ...
  • Oracle存储索引的数据结构是B*树。位图索引也是如此,仅仅只是是叶子节点不同B*数索引索引由根节点、分支节点和叶子节点组成。上级索引块包括下级索引块的索引数据,叶节点包括索引数据和确定行实际位置的rowid。...
  • ORACLE数据库重建索引

    2013-09-29 11:06:27
    导致索引失效: 1、表上频繁发生update,delete操作; 2、表上发生了alter table ..move操作(move操作导致了rowid变化)。
  • 一、创建索引 create index 索引名 on 表名(列名); 二、查找索引 --根据索引名,查询表索引字段 select * from user_ind_columns where index_name='索引名';...--根据表名,查询一张表的...三、删除索引 drop ...
  • Oracle索引之Btree索引

    2019-03-31 11:21:05
    Oracle中常见有BTREE索引,位图索引和函数索引。 我们今天就先介绍一下这个BTREE索引吧。既然叫BTREE索引,那就从它的树结构说起: 建BTREE索引其实是先拿出所有数据排序,将有序的索引列的值和rowid存进Oracle的...
  • 实际开发中,在创建表主键约束的时候,通常会级联创建唯一索引。... 可以发现主键被删除了,但是唯一索引依旧存在,因此如果插入重复的数据,还是会报违反约束的错误 处理方法:  在删除约束的时候需要显示的
  • 删除索引 参数:索引名称 create or replace procedure TRYDROPINDEX(indexName in varchar2) is stmt VARCHAR2(2000); row1 number; begin select count(index_name) into row1 from user_indexes where index_...
  • ORACLE分区与索引

    2014-05-05 09:20:25
    对orcle大数据的查询的优化,ORACLE分区表、分区索引ORACLE对于分区表方式其实就是将表分段存储,一般普通表格是一个段存储,而分区表会分成多个段,所以查找数据过程都是先定位根据查询条件定位分区范围,即数据在...
  • --删除表主键 ALTER TABLE jw_jxrw_wxlsrwkcb DROP CONSTRAINT PK_JW_...--删除索引 drop index PK_JW_JXRW_WXLSRWKCB;--添加主键 -- Create/Recreate primary alter table jw_jxrw_wxlsrwkcb add constraint PK_JW_

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 116,874
精华内容 46,749
关键字:

oracle索引无法删除