zoukankan      html  css  js  c++  java
  • Oracle 索引创建、表分区

    --EAF_WORKFLOWSTEP 表创建
    CREATE TABLE EAF_WORKFLOWSTEP
    (
        WFS_ID NUMBER (10) NOT NULL PRIMARY KEY USING INDEX TABLESPACE I_JSEPMS,
        WFS_RELATEDDOMAIN NVARCHAR2 (50) NULL,    --自动转换非空为可空,需在resultMap中添加nullValue=""
        WFS_RELATEDDOMAINID NVARCHAR2 (50) NULL,    --自动转换非空为可空,需在resultMap中添加nullValue=""
        WFS_PRESTEPID NUMBER (10) NULL,
        WFS_STEPDESCRIPTION NVARCHAR2 (500) NULL,
        WFS_STEPTYPE NVARCHAR2 (50) NULL,    --自动转换非空为可空,需在resultMap中添加nullValue=""
        WFS_ACTIONUSERID NVARCHAR2 (50) NULL,
        WFS_ACTIONTIME TIMESTAMP NULL,
        WFS_ACTIONTYPE NVARCHAR2 (50) NULL,
        WFS_ACTIONRESULT NVARCHAR2 (500) NULL,
        WFS_ACTIONCOMMENT NCLOB NULL,
        WFS_ADDITIONALDATA NVARCHAR2 (500) NULL,
        WFS_RECORDTIME TIMESTAMP DEFAULT SYSDATE NOT NULL,
        WFS_DELETETIME TIMESTAMP NULL,
        WFS_ID_OLD NUMBER (10) NULL,
        WFS_UPDATETIME TIMESTAMP DEFAULT SYSDATE NULL
    )
     
    PARTITION BY RANGE ( WFS_ID)
    (
        PARTITION WFS_PART1 VALUES LESS THAN ( 5000000) TABLESPACE D_JSEPMS ,
        PARTITION WFS_PART2 VALUES LESS THAN ( 10000000) TABLESPACE D_JSEPMS , 
        PARTITION WFS_PART3 VALUES LESS THAN ( 15000000) TABLESPACE D_JSEPMS ,
        PARTITION WFS_PART4 VALUES LESS THAN ( 20000000) TABLESPACE D_JSEPMS ,  
    );
     
     
    一、索引分区
    Oracle中并没有区分表空间里放的是表还是索引,所有当数据量比较小时,完全可以把表和索引放在同一个表空间里,但随着数据量的增大,最好还是把表和索引分开存储在不同的表空间里。
     
    二、查找所有索引
    通过脚本查询SQL数据库中所有索引,以PK开头的是主键索引、IX或者index开头的是普通索引,PK开头的索引在Oracle中不需要创建
    查看所有SQL中的索引
    SELECT  indexname = a.name,       --索引名称
    tablename = c. name ,       --表名
    indexcolumns = d .name ,    --索引列
    a .indid          --索引类型
    FROM    sysindexes a
    JOIN sysindexkeys b ON a .id = b .id  AND a .indid = b.indid
    JOIN sysobjects c ON b .id = c .id
    JOIN syscolumns d ON b .id = d .id  AND b .colid = d .colid
    WHERE   a .indid NOT IN ( 0 , 255 )  AND
    c .name in (SELECT NAME FROM SYSOBJECTS WHERE TYPE='U') --查指定表
    ORDER BY c. name ,
            a.name ,
            d.name
    三、编写相关索引脚本
    --普通索引
    create index 索引名 on 表名 (列名)  tablespace 表空间;
    create index I索引名 on 表名 (列名[, 列名, ....]);
    --可以有多个列
    --唯一索引
    create unique 索引名 on 表名 (列名); --单列
    create unique I索引名 on 表名 (列名[, 列名, ....]);
    --可以有多个列
    —删除索引
    drop index  index_Name
    四、查询所有索引
     select object_name,created from user_objects where object_type='INDEX'     -名称 创建时间
    --这个可以查出来表名,索引名,索引列
    SELECT table_name, index_name, column_name, column_position FROM user_ind_columns WHERE (index_name like 'SYS_%' or index_name like 'IX_%')
  • 相关阅读:
    第十四周课程总结&实验报告
    第十三周学习总结&实验报告(八)
    第十二周学习总结
    第十一周课程总结
    第十周课程总结
    实验报告(七)&第九周课程总结
    软件工程作业02
    第一周博客作业
    2019春总结作业
    第十二周作业
  • 原文地址:https://www.cnblogs.com/huxiaoli/p/6101354.html
Copyright © 2011-2022 走看看