精华内容
下载资源
问答
  • Oracle 数据库修改索引表空间
    Oracle 数据库修改索引表空间,包括修改表的表空间、修改索引的表空间、修改有CLOB字段的表空间等。 
    修改表空间语法 


    1、修改表的表空间
    alter table TABLENAME move tablespace TABLESPACENAME;  
    2、修改索引的表空间 
    alter index INDEXNAME rebuild tablespace TABLESPACENAME;  
    3、修改有 CLOB 字段的表空间 


    alter table TABLENAME move tablespace TABLESPACENAME lob(COLUMNNAME) store as(tablespace TABLESPACENAME);  
    修改表空间示例 


    修改表 


    select 'alter table '||a.table_name||' move tablespace workflow;',   
    a.owner,a.table_name,a.tablespace_name,a.* from dba_tables a    
    where a.Owner='ERMIS_SHANXI'  
    order by a.owner,a.table_name;  
    修改索引 


    select 'alter index '||a.index_name||' rebuild tablespace workflow;',   
    a.owner,a.index_name,a.tablespace_name,a.* from dba_indexes a    
    where a.Owner='ERMIS_SHANXI'  
    order by a.owner,a.table_name;  
    修改 clob 索引 


    ALTER TABLE WF_H_PROCESSINSTATTR MOVE TABLESPACE WORKFLOW    
    LOB (ATTRIBUTE) STORE AS(TABLESPACE WORKFLOW);  
    如果遇见大字段,增加一个属性:
    select 'alter index '||a.index_name||' rebuild tablespace VASD;',     
    a.owner,a.index_name,a.tablespace_name,a.* from dba_indexes a      
    where a.Owner='CMS200BJ2'     
    and index_type='NORMAL'  
    order by a.owner,a.table_name;     
      
      
            select 'alter index '||a.index_name||' rebuild tablespace VASD;',     
    a.owner,a.index_name,a.tablespace_name,a.* from dba_indexes a      
    where a.Owner='CMS200BJ2'     
    and index_type='LOB'  
    order by a.owner,a.table_name;    
    先查询所有涉及到大字段的表
    SELECT DISTINCT a.table_name   
               FROM dba_indexes a   

              WHERE a.owner = 'CMS200BJ2' AND index_type = 'LOB'


    转载自:http://www.linuxidc.com/Linux/2012-02/55268.htm

    展开全文
  • sql ...1.查询出当前用户下所有索引进行表空间修改的sql语句。 select 'alter index '|| index_name ||' rebuild tablespace tablespacename;' from user_indexes; 2.执行第1步的所有查询结果。 ...

    sql

    alter index INDEXNAME rebuild tablespace TABLESPACENAME;
    

    批量修改

    1.查询出当前用户下所有索引进行表空间修改的sql语句。

    select 'alter index '|| index_name ||' rebuild tablespace tablespacename;' from user_indexes;
    

    2.执行第1步的所有查询结果。

    展开全文
  • 修改Mysql数据库索引

    千次阅读 2019-06-20 11:16:06
    修改Mysql数据库的索引案例描述解决说明建立索引删除索引 案例 描述 原来的数据库索引 ...没找到直接修改索引的方法(有的话可以大家一起交流),通过先删除后建的方法实现。从效率上考虑也是要重...

    案例

    描述

    原来的数据库索引

    UNIQUE KEY `tablename` (`column1`,`column2`) USING BTREE
    

    需要把column1,column2进行调换(以便使用column1进行百万级别查询)。

    解决

    没找到直接修改索引的方法(有的话可以大家一起交流),通过先删除后建的方法实现。从效率上考虑也是要重新建立索引的,所以代价可以接受。
    通常使用(推荐)

    ALTER TABLE `表名` DROP INDEX 索引名;
    ALTER TABLE `表名` ADD UNIQUE 索引名  (`column2`, `column1`) USING BTREE;
    
    // 或者合到一条sql
    ALTER TABLE `表名` 
    DROP INDEX 索引名,
    ADD UNIQUE 索引名  (`column2`, `column1`) USING BTREE;
    

    其他方案如下(实践已能用):

    ## 删除唯一索引UNIQUE_APP_NAME,再重新建立一次
    DROP INDEX UNIQUE_NAME ON `tablename`;
    CREATE UNIQUE INDEX UNIQUE_NAME ON `tablename` (`column2`, `column1`) USING BTREE;
    

    或者

    ALTER TABLE `test`.`uuidtest` 
    DROP INDEX `test_index`,
    ADD INDEX `test_index`(`uuid`) USING BTREE COMMENT '测试注释';
    

    说明

    建立索引

    方法1

    ALTER TABLE 表名 ADD 索引类型 (unique,primary key,fulltext,index)[索引名](字段名)
    
    //普通索引
    alter table table_name add index index_name (column_list) ;
    //唯一索引
    alter table table_name add unique (column_list) ;
    //主键索引
    alter table table_name add primary key (column_list) ;
    

    方法2

    CREATE INDEX index_name ON table_name(username(length)); 
    
    //create只能添加这两种索引;
    CREATE INDEX index_name ON table_name (column_list)
    CREATE UNIQUE INDEX index_name ON table_name (column_list)
    

    删除索引

    drop index index_name on table_name ;
    
    alter table table_name drop index index_name ;
    alter table table_name drop primary key ;
    
    展开全文
  • 数据库中的索引是一个表中所含的值的列表,其中注明了各个值所对应的行所在的位置。 索引是关系数据库的内部实现技术,属于数据库内模式的范畴 索引的分类 按索引的结构来分可以分为聚簇索引和非聚簇索引 聚簇索引...

    建立索引的目的:加快查询速度
    索引类似一本书的目录,通过索引可以快速找到想要的内容。
    数据库中的索引是一个表中所含的值的列表,其中注明了各个值所对应的行所在的位置。
    索引是关系数据库的内部实现技术,属于数据库内模式的范畴

    索引的分类
    按索引的结构来分可以分为聚簇索引非聚簇索引

    1. 聚簇索引:索引项的顺序与表中记录的物理存放顺序一致
      • 一个表最多建立一个聚簇索引;
      • 经常查询的列可以建立聚簇索引以提高查询效率;
      • 经常更新的列不适合建立聚簇索引。
        sqlserver默认在主键列建立聚簇索引。
    2. 非聚簇索引:索引中记录所对应行位置的指针
      是单独的数据库对象,与表分离
      sqlserver中,给一个列设定唯一约束,则自动建立非聚簇索引

    按索引的功能可以分为唯一索引非唯一索引

    1. 唯一索引:索引列上允许有重复的值
    2. 非唯一索引:索引列上允许有重复的值
    接下来是索引的建立、修改、删除
    • 建立
    create [unique][cluster][noncluster] index <索引名> on <表名>(<列名>[<次序>] [,<列名>[<次序>]]);
    

    其中cluster表示聚簇索引(sqlserver中是clustered)
    unique表示唯一索引
    次序可以是ascdesc,默认是asc
    例如

    create unique nonclustered index sname_sy  on student(sname asc);
    

    建立唯一非聚簇索引(sqlserver中)

    • 修改
      如果想修改索引,可以先删除再创建
    • 删除
    drop index 表名.索引名;
    

    建立索引会加快查询速度,但是也会相应的减少添加、删除的速度。

    展开全文
  • 数据库索引

    2021-04-10 23:03:16
    索引降低了数据库的插入、修改、删除等维护任务的速度; 索引创建在表上,不能创建在视图上; 索引既可以直接创建,也可以间接创建; 可以在优化隐藏中,使用索引; 使用查询处理器执行SQL语句,在一个表上,一次...
  • 数据库-索引

    2014-09-16 17:43:24
    一、索引的概念  索引就是加快检索表中数据的方法。数据库索引类似于书籍的索引。在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要的...索引降低了数据库插入、修改、删除等维护任务的速度   3.索
  • 索引降低了数据库插入、修改、删除等维护任务的速度  3.索引创建在表上,不能创建在视图上  4.索引既可以直接创建,也可以间接创建  5.可以在优化隐藏中,使用索引  6.使用查询处理器执行SQL语句,在一个表...
  • 数据库——索引

    2013-10-30 15:22:00
    转载: 一、索引的概念 索引就是加快检索表中数据的方法。数据库索引类似于书籍的索引。在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所...索引降低了数据库插入、修改、删除等维护任务的速度 3...
  • 数据库索引

    2017-03-28 20:51:47
    数据库建立索引的原则  1,确定针对该表的操作是大量的查询操作还是大量的增删改操作。  2,尝试建立索引来帮助特定的查询。检查自己的sql语句,为那些频繁在where子句中出现的字段建立索引。  3,尝试建立复合...
  • 索引分类: 主键索引: 不能为null,唯一索引可以为null 单值索引: 单列,每个表可以有多个 唯一索引: 不能重复 复合索引: 多个列构成的索引,相当于二级目录 name,age 两个张三,再看年龄; 创建索引: ...
  • 数据库索引方式

    2021-04-18 16:34:48
    数据库索引方式 由于许多查询只涉及文件中的少量记录,故我们需要能直接定位满足查询条件的功能。...在对表中的数据进行删除和修改时需要耗费较多的时间,因为索引也要动态的维护。 数据库中有两种基本的索引
  • MySQL数据库索引

    2021-04-12 13:48:35
    索引的副作用:创建索引的原则依据(对合适的字段创建索引,来加速查询)索引的分类普通索引直接创建索引修改表方式创建创建表的时候指定索引唯一索引主键索引组合索引(单列索引与多列索引)全文索引(FULLTEXT)5...
  • 数据库索引

    2018-08-19 13:35:10
    为什么加索引后会使写入、修改、删除变慢? 什么情况下要同时在两个字段上建索引? 这些问题他们可能不一定能说出答案。知道这些问题的答案有什么好处呢?如果开发的应用使用的数据库表中只有1万条数据,...
  • 数据库底层索引实现主要有两种存储类型,B树(BTREE)和哈希(HASH)索引,InnoDB和MyISAM 使用BTREE索引;而MEMORY 存储引擎可以使用BTREE 和HASH 索引,默认用BTREE.在没有指定的情况下,数据库使用的引擎是 InnoDB。 ...
  • 数据库索引

    2021-03-25 10:06:06
    索引是什么 索引是对数据库表中一个或多个列的值进行排序的结构,是帮助MySQL高效获取数据的数据结构 你也可以这样理解:索引就是加快检索表中...2.索引降低了插入、删除、修改等维护任务的速度 3.唯一索引可以确保每
  • 数据库建立索引原则

    2019-06-26 10:32:34
    数据库建立索引的原则 1,确定针对该表的操作是大量的查询操作还是大量的增删改操作。 2,尝试建立索引来帮助特定的查询。检查自己的sql语句,为那些频繁在where子句中出现的字段建立索引。 3,尝试建立复合索引来...
  • 修改表相关SQL操作: alter table tableName+ 添加列 add [column] 列名 类型 删除某一列 drop column 列名 修改列类型 modify column 列名+类型 同时修改表名和类型 change 旧名称 新名称 ...建索引 create [unique]
  • 数据库索引

    2018-04-03 16:13:30
    1、索引分类:唯一索引/非唯一索引、主键索引、聚集索引/非聚集索引、组合索引2、唯一索引... 聚集索引:表中记录的物理顺序和键值的索引顺序相同,一个表只能有一个聚集索引(查询快,修改慢)(适用于某列包含了...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,405
精华内容 2,562
关键字:

数据库修改索引