SQL中索引怎么用

网友投稿 265 2023-12-07

SQL中索引怎么用

小编给大家分享一下SQL中索引怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

SQL中索引怎么用

1、概念

数据库对象,通过指针加速查询数据,减少磁盘IO

    类似书的目录

    自动使用和维护索引    --primary key 和unique列上自动创建

2、创建

    基本语法

create index emp_ename_idx  on emp(ename);

    B树索引

        1)唯一索引,指键值不重复。SQL> create unique index empno_idx on emp1(empno);

2)非唯一索引  SQL> create index empno_idx on emp1(empno);

3)组合索引(Composite):基于两个或多个列的索引。 SQL> create index job_deptno_idx on emp1(job,deptno);

        4)反向键索引(Reverse):将字节倒置后组织键值。当使用序列产生主键索引时,可以防止叶节点出现热块现象。缺点是无法提供索引范围扫描。

SQL> create index mgr_idx on emp1(mgr) reverse;

5)函数索引(Function base):以索引列值的函数值为键值去组织索引  SQL> create index fun_idx on emp1(lower(ename));

       6)压缩(Compress):重复键值只存储一次,就是说重复的键值在叶块中就存一次,后跟所有与之匹配的 rowid 字符串。

SQL> create index comp_idx on emp1(sal) compress;

       7)升序或降序( Ascending or descending):叶节点中的键值排列默认是升序的。

SQL> create index deptno_job_idx on emp1(deptno desc, job asc);

    函数索引

3、重建、删除

    alter index ind_test_id rebuild online;

drop index

4、不可用、不可见

    unusable 不可用

         alter index ind_test_id unusable;

如需使用得重建:alter index ind_test_id rebuild;

    invisible 不可见

         alter index ind_test_id invisible;

        alter index ind_test_id visible;

11g新特性,只对优化器不可见,但索引维护还是正常进行

5、索引监控(查看索引是否被使用)

     alter index pk_dept monitoring usage;

     select * from v$object_usage;

alter index pk_dept nomonitoring usage;

6、注意事项

7、视图

    user_indexes

    user_ind_columns

以上是“SQL中索引怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:oracle序列达到了最大值处理的示例分析
下一篇:数据库中表空间、段、区、块是什么意思
相关文章

 发表评论

暂时没有评论,来抢沙发吧~