暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

简单了解Oracle数据库中如何创建索引

SQL数据库运维 2022-09-20
630

点击蓝色字关注“SQL数据库运维”,回复“SQL”获取2TB学习资源!

索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。

索引的一个主要目的就是加快检索表中数据,亦即能协助信息搜索者尽快的找到符合限制条件的记录ID的辅助数据结构。





索引的创建语法

    CREATE INDEX 索引名 ON 表名(列名) TABLESPACE 表空间名;
    --举例
    CREATE INDEX STUINFO_STUID ON STUINFO(STUID) TABLESPACE USERS;

    除了单列索引,还可以创建包含多个列的复合索引

      CREATE INDEX 索引名 ON 表名(列名1, 列名2, 列名3, ...) TABLESPACE 表空间名;
      --举例
      CREATE INDEX STUINFO_STUID_IDNUMBER ON STUINFO(STUID,IDNUMBER) TABLESPACE USERS;

      注意:注意到在命名时的习惯了吗?使用"表名_字段1名_字段2名"的方式。

      删除索引语法

        DROP INDEX 索引名;

        查看某个表中的所有索引语法,表名大写。

          SELECT * FROM ALL_INDEXES WHERE TABLE_NAME = '表名'  

          查看某个表中建立了索引的所有列。

            SELECT * FROM ALL_IND_COLUMNS WHERE TABLE_NAME = '表名'




            需要注意的是,建立索引并不是越多越好,而且建立的越多,也未必会快,建立太多的索引将会影响更新和插入的速度,因为它需要同样更新每个索引文件。对于一个经常需要更新和插入的表格,就没有必要为一个很少使用的where字句单独建立索引了,对于比较小的表,排序的开销也不会很大,也没有必要建立另外的索引,因此,应该通过实际的使用环境来判断是否需要建立索引,在需要的时候建立索引。

            以上介绍的只是一些十分基本的东西,如果想要了解更多,欢迎关注,一起探讨,优化数据库的检索速度,体验飞一般检索速度。

            点击关注“SQL数据库运维”,后台或浏览至公众号文章底部点击“发消息”回复关键字:进群,带你进入高手如云的技术交流群。后台回复关键字:SQL,获取学习资料。


            动动小手点击加关注呦☟☟☟

            文章转载自SQL数据库运维,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

            评论