精华内容
下载资源
问答
  • 作为DBA,针对数据库索引创建及重建需要了解一下索引创建的原则及标准,判断是否需要停止应用以及检查创建索引的表大小,选择合适的创建方式。 一、索引创建前的检查 1、检查表段大小 select segment_name, bytes/...

    概述

    作为DBA,针对数据库索引创建及重建需要了解一下索引创建的原则及标准,判断是否需要停止应用以及检查创建索引的表大小,选择合适的创建方式。

    一、索引创建前的检查

    1、检查表段大小

    select segment_name, bytes/1024/1024 MB from user_segments  where segment_name='<表名>';
    

    2、检查表列不同值分布情况

    select a.table_name,
           a.column_name,
           a.num_distinct,
           round(a.num_distinct * 100 / b.num_rows) "distinct percent%"
      from user_tab_columns a, user_tables b
     where a.table_name = b.table_name
       and a.table_name = 'ORDER_RELEASE_STATUS';
    

    在这里插入图片描述
    这里可以看到一般不同值分布占全表记录数,如果percent%达到15%以上就可以建立索引提高效率
    在这里插入图片描述

    二、数据库索引创建实施过程

    1、创建单列索引

    create index index_name on table(col1) tablespace tbs_name [nologging] [online] [parallel n];
    alter index index_name noparallel ;
    

    2、创建复合索引

    create index index_name on table(col1,col2,…) tablespace tbs_name [nologging] [online][parallel n];
    alter index index_name noparallel ;
    

    3、创建唯一索引

    create unique index index_name on table(col1,col2,…) tablespace tbs_name [nologging][online][parallel n];
    alter index index_name noparallel ;
    

    4、创建分区索引

    4.1、Local 索引

    小表:
    create index index_name on table(col1) local;
    大表:
    1)create index index_name on table(col1) local unusable;
    2)alter index index_name rebuild partition p_name [parallel n];
    alter index index_name noparallel ;
    3)execute dbms_stats.gather_index_stats(ownname=> '',indname=> '',)
    

    4.2、Global 索引

    create [global] index index_name on table(col);
    

    5、删掉创建的索引

    drop index index_name;
    

    三、数据库索引重建实施过程

    1、重建普通索引

    alter index index_name rebuild tablespace w_data [online][ parallel n][ nologging]; 
    alter index index_name noparallel ;
    

    2、重建分区索引

    alter index index_name rebuild partition partition_name tablespace tbs_name[online][parallel n][nologging];
    alter index index_name noparallel ;
    

    四、数据库索引检查

    1、检查索引状态

    1.1、普通索引检查

    status 为 valid 表示索引状态正常。

    select index_name,table_name,status,tablespace_name from user_indexes; 
    

    1.2、分区索引检查

    status 为 usable 表示索引状态正常。

    select index_name,partition_name,status,tablespace_name from user_ind_partitions; 
    

    2、检查应用

    检查相应的 SQL 效率是否提高,重点分析执行计划是否改善。

    3、检查内存和历史视图

    select object_name from v$sql_plan where object_name = 'index_name' ;
    select object_name from dba_hist_sql_plan where object_name = 'index_name';
    

    总结

    最后,在建索引后一定要注意观察数据库 SQL 执行计划是否 OK,执行效率是否提高,然后监控下应用是否正常。

    展开全文
  • 为了方便广大考生更好的复习,帮考网综合整理提供了Oracle认证:Oracle创建/重建删除索引,以供各位考生考试复习参考,希望对考生复习有所帮助。Oracle创建、重建删除索引创建索引:SQL》 create index mcconf_...

    为了方便广大考生更好的复习,帮考网综合整理提供了Oracle认证:Oracle创建/重建和删除索引,以供各位考生考试复习参考,希望对考生复习有所帮助。

    Oracle创建、重建和删除索引

    创建索引:

    SQL》 create index mcconf_index on mc$ma_warn_config (NAME);

    Index created.

    SQL》 select owner,object_name from all_objects where object_type=‘INDEX’ and object_name=‘MCCONF_INDEX’;

    OWNER OBJECT_NAME

    —————————— ——————————

    MEGATRUST MCCONF_INDEX

    重建索引:

    SQL》 alter index mcconf_index rebuild;

    Index altered.

    删除索引:

    SQL》 drop index mcconf_index;

    Index dropped.

    展开全文
  • 数据库索引

    2016-03-31 15:11:27
    1)什么是数据库索引  在数据库系统中,除了存储数据库表的结构与数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找...

    1)什么是数据库索引

            在数据库系统中,除了存储数据库表的结构与数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。通俗的讲,索引就是对数据库表中一列或多列的值进行排序的一种结构。

    .2)为什么要建立数据库索引

           索引是经过某种算法优化过的,通过索引可快速访问、修改数据库表中的数据信息,简而言之,通过索引不需要扫描整个数据库就可以得到想要的数据信息,以提高数据库的访问效率。

    .3)数据库索引的分类

    索引分为聚簇索引和非聚簇索引两种:

    (1)聚簇索引,表数据按照索引的顺序来存储的,能提高多行检索的速度。

    (2)非聚簇索引,表数据存储顺序与索引顺序无关,对于单行的检索很快。

    根据数据库的功能,可以在数据库设计器中创建三种索引:唯一索引、主键索引和聚集索引。

    唯一索引 
            唯一索引是不允许其中任何两行具有相同索引值的索引,尽管唯一索引有助于定位信息,但是为了获取最佳性能效果,一般建议使用主键索引或者唯一约束。
    主键索引 
           对表的主键创建的索引,是唯一索引的特定类型。
    聚集索引 
          表中行的物理顺序与键值的逻辑(索引)顺序相同。一个表只能包含一个聚集索引。

    .4)数据库索引的创建与运用

    先来建立一张测试表:

    [html]  view plain  copy
    1. create table index_test(  
    2. id int primary key,  
    3. name char(20),  
    4. status char(1)  
    5. );  
    插入数据:

    [html]  view plain  copy
    1. insert into index_test values(1,'index1','0');  
    2. insert into index_test values(2,'index2','0');  
    3. insert into index_test values(3,'index3','0');  
    创建基于status列的索引:create index index_test_status on  index_test(status);

    创建完索引,如何查看索引是否已经启用了呢,我们用explain命令查看一下:

             EXPLAIN select * from index_test where status='0';

    可以看到如下结果:

    [html]  view plain  copy
    1. <img id="img" src="https://img-my.csdn.net/uploads/201603/30/1459321667_1880.jpg" alt="" />  
    可以看到,在possible_keys中应用了index_test_status索引。

    删除索引:

             drop index index_test_status on index_test;

    .5)索引的实现方式

               后续补充

    .6)索引的存储结构

              后续补充

    .7)索引的优缺点

        优点:
             1.大大加快数据的检索速度;   
             2.创建唯一性索引,保证数据库表中每一行数据的唯一性;   
             3.加速表和表之间的连接;   
             4.在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。
        缺点:
      1.索引需要占用数据表以外的物理存储空间
      2.创建索引和维护索引要花费一定的时间
      3.当对表进行更新操作时,索引需要被重建,这样降低了数据的维护速度。

    参考资料:

            http://baike.baidu.com/link?url=JubSbaontvl6aeuvWiVPXYv3EdOrXOsfoPrW1SxDl2iPpZjz98I9ndY0V3H8mPIHzllFpk6MewRtx3eRhKLlRK

            http://kb.cnblogs.com/page/45712/

    展开全文
  • ORACLE数据库重建索引

    2013-09-29 11:06:27
    导致索引失效: 1、表上频繁发生update,delete操作; 2、表上发生了alter table ..move操作(move操作导致了rowid变化)。
  • 有时候会发生无法正常搜索数据库内容的情况,这个可能是索引文件发生了故障,索引文件即是我们见过的跟数据库文件在同一个目录下面的文件夹,下面有indexmeta Journal ms 三个文件 停止服务器的两个邮件系统服务 ...

    有时候会发生无法正常搜索数据库内容的情况,这个可能是索引文件发生了故障,索引文件即是我们见过的跟数据库文件在同一个目录下面的文件夹,下面有indexmeta  Journal  ms 三个文件

    停止服务器的两个邮件系统服务

    Stop-Service MSExchangeFastSearch 

    Stop-Service HostControllerService 

    删除该目录下面的文件,重启服务即可重新建立索引,为保证万一,可以另外存在目录下面

    02Contentindexcatalogfolderin2013

    Start-Service MSExchangeFastSearch 

    Start-Service HostControllerService 

    本文转自   流原炫   51CTO博客,原文链接:http://blog.51cto.com/xiaoyuanzheng/1897146

    展开全文
  • 声明:本文内容来自http://www.liuhui.info/article38.html<br />    MySQL数据库索引研究系列第一期,MySQL创建、删除重建和查看索引命令、掌握创建索引、删除索引、重建索引和查看索引的命今...
  • MySQL数据库索引

    万次阅读 多人点赞 2018-09-23 09:31:41
    数据库有哪些索引 唯一索引 聚簇索引与非聚簇索引 全文索引 使用索引一定能提高查询性能吗? 哪些情况下设置了索引但是无法使用 哪些情况下需要设置索引、哪些情况下不需要 什么情况下应该使用组合索引而非...
  • oracle数据库 主键索引重建 alter table table_name drop primary key; alter table table_name add constraint pk_index_name primary key(row_name);
  • Oracle数据库索引

    2011-12-31 14:42:32
    数据库索引 什么是索引  数据库索引好比是一本书前面的目录,能加快数据库的查询速度。 例如这样一个查询:select * from table1 where id=44。如果没有索引,必须遍历整个表,直到ID等于44的这一行被找到为止;...
  • Oracle 数据库索引

    2015-12-21 13:41:26
    索引可以加快数据库查询速度,减少数据库I/O,提高数据库性能。建立有效的索引,对于系统来说是非常重要的
  • mysql查询所有索引删除所有索引重建所有索引 直接po截图和代码 #---------------- #查询一张表中的所有索引 SHOW INDEX FROM book; SHOW KEYS FROM book; SHOW CREATE TABLE book; #---------------- #...
  • 数据库索引简介

    千次阅读 2019-04-17 14:29:11
    建立的索引只对该字段有用,如果查询的字段改变,那么这个索引也就无效了,比如图书馆的书是按照书名的第一个字母排序的,那么你想要找作者叫张三的就不能用该索引了; 如果索引太多也会降低查询的速度 3、索引是...
  • 删除索引然后重新创建同一索引的方式重建聚集索引,是一种昂贵的方法,因为所有二级索引都使用聚集键指向数据行。如果只是删除聚集索引然后重新创建,则会使所有非聚集索引都被删除和重新创建两次。一旦删除聚集...
  • 数据库—数据库索引

    千次阅读 2015-07-16 16:45:35
    MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。 索引的本质:  MySQL官方对索引的定义为:索引(Index)是帮助MySQL...
  • .1)什么是数据库索引  在数据库系统中,除了存储数据库表的结构与数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法...
  • 我发现DBF文件数据的一个大秘密,因为要用到TBatchMove操作DBF文件,需要使用索引,如果这个DBF文件没有包含索引,可以使用下面的 SQL建立索引: create index 索引名 on "表名.dbf"(字段名); 但是如果这个DBF文件已经...
  • 数据库索引原理及优化

    千次阅读 2018-08-07 11:03:02
    本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文...
  • 文章目录yum数据库索引更改一、更改yum数据库索引地址为阿里云镜像站1.yum的配置文件1.1安装包的下载索引1.2数据库索引2.转移系统自带数据库的索引仓库3.创建数据库索引仓库4.更新启用新的索引仓库5.yum使用的问题...
  • 数据库索引实现原理

    万次阅读 多人点赞 2019-04-15 16:28:54
    MySQL索引实现 在MySQL中,索引属于存储引擎级别的概念,不同存储引擎对索引的实现方式是不同的,本文主要讨论MyISAM和InnoDB两个存储引擎的索引实现方式。 MyISAM索引实现 MyISAM引擎使用B+Tree作为索引结构,叶...
  • 达梦数据库索引实践

    2019-12-11 19:39:58
    达梦数据库索引实践 达梦数据库支持二级索引,聚集索引,唯一索引,函数索引,位图索引,分区索引等。 默认的表是索引组织表,利用rowid创建一个默认的索引,所以我们创建的索引,称为二级索引。建索引的目的是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 48,084
精华内容 19,233
关键字:

再重建数据库索引删除