创建位图索引

位图索引比较少用,它主要运用于数据量不多,创建在重复性大的字段上面。
以下是创建一个位图索引的过程,前面的主要是添加字段与约束的过程。

---给表yourtest添加字段并创建位图索引:

---查看表结构并查看记录:

suxing@PROD>desc yourtest;

 Name                                      Null?    Type

 ----------------------------------------- -------- ----------------------------

 ID                                                 NUMBER(3)

 NAME                                               VARCHAR2(6)

 CREATED                                            DATE

suxing@PROD>select * from yourtest;

        ID NAME   CREATED

---------- ------ ---------

       125 susu   02-NOV-16

       123 susky  02-NOV-16

       124 hhhh   10-NOV-16

       126 wwww   10-NOV-16

       125 dddd   11-NOV-16

 

---添加字段sex

--添加字段:

suxing@PROD>alter table yourtest add sex varchar2(5)

  2  constraint ch_sex check (sex in ('man','woman'));

Table altered.

#字段添加完成,创建字段时候不需要指定字段的关键字column,但在删除字段时候一定要指定字段的关键字column

#添加字段与创建表时候的方法一样,可以附加上字段的约束。

 

--查看添加后的表结构:

suxing@PROD>desc yourtest

 Name                                      Null?    Type

 ----------------------------------------- -------- ----------------------------

 ID                                                 NUMBER(3)

 NAME                                               VARCHAR2(6)

 CREATED                                            DATE

 SEX                                                VARCHAR2(5)

 

---给表yourtest的字段sex添加数据:

--填充数据:

suxing@PROD>update yourtest set sex ='woman';

5 rows updated.

suxing@PROD>commit;

Commit complete.

#填充5条数据。

--查看表记录:

suxing@PROD>select * from yourtest;

        ID NAME   CREATED   SEX

---------- ------ --------- -----

       125 susu   02-NOV-16 woman

       123 susky  02-NOV-16 woman

       124 hhhh   10-NOV-16 woman

       126 wwww   10-NOV-16 woman

       125 dddd   11-NOV-16 woman

 

--校验字段的check约束:

suxing@PROD>update yourtest set sex='xxman'

  2  where name ='hhhh';

update yourtest set sex='xxman'

*

ERROR at line 1:

ORA-02290: check constraint (SUXING.CH_SEX) violated

#修改不成功,因为字段sex只能填写woman或者man

 

--继续修改部分记录:

suxing@PROD>update yourtest set sex='man'

  2  where name in ('susu','hhhh','wwww');

3 rows updated.

#已经修改3条记录的数据。

 

--查看表中的记录:

suxing@PROD>select * from yourtest;

        ID NAME   CREATED   SEX

---------- ------ --------- -----

       125 susu   02-NOV-16 man

       123 susky  02-NOV-16 woman

       124 hhhh   10-NOV-16 man

       126 wwww   10-NOV-16 man

       125 dddd   11-NOV-16 woman

 

---创建位图索引:

--创建索引:

suxing@PROD>create bitmap index         

  2  ind_test on yourtest(sex)

  3  tablespace myspace;

Index created.

#位图索引创建完成。

 

--查看用户的索引信息:

suxing@PROD>select index_name,table_name,index_type,status

  2  from user_indexes;

INDEX_NAME      TABLE_NAME      INDEX_TYPE      STATUS

--------------- --------------- --------------- --------

IND_TEST        YOURTEST        BITMAP          VALID

IDX_T4          T4              NORMAL          VALID

IDX_T3          T3              NORMAL          VALID

IND_STU         STUDENTS        NORMAL          VALID

IND_MYTEST      MYTEST          NORMAL          VALID

IND_COU         COURSES         NORMAL          VALID

6 rows selected.

#可以看到,位图索引创建成功,与类型与普通的索引有所不一样。

 

---查看用户更详细的索引信息:

suxing@PROD>col TABLESPACE_NAME for a15;

suxing@PROD>select index_name,table_name,index_type,status,

  2   tablespace_name from user_indexes;

INDEX_NAME      TABLE_NAME      INDEX_TYPE      STATUS   TABLESPACE_NAME

--------------- --------------- --------------- -------- ---------------

IND_TEST        YOURTEST        BITMAP          VALID    MYSPACE

IDX_T4          T4              NORMAL          VALID    USERS

IDX_T3          T3              NORMAL          VALID    USERS

IND_STU         STUDENTS        NORMAL          VALID    MYSPACE

IND_MYTEST      MYTEST          NORMAL          VALID    MYSPACE

IND_COU         COURSES         NORMAL          VALID    MYSPACE

6 rows selected.

#通过这些信息也可以知道,创建索引与创建表一样,需要制定存放的表空间,缺省的情况下,即默认是存放在users表空间里面。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31392094/viewspace-2128662/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31392094/viewspace-2128662/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值