ITPub博客

首页 > 数据库 > > GaussDB100 面向应用开发的功能--支持索引

GaussDB100 面向应用开发的功能--支持索引

作者:GaussDB_数据库 时间:2020-03-03 09:37:04 0 删除 编辑

支持版本

GaussDB 100 V300R001C00初次引入。

特性简介

GaussDB 100支持在表上创建索引,用户可以通过索引快速查找数据,提升性能。

特性描述

索引是对数据库表中一个或多个列的值进行排序的结构。例如这样一个查询:select * from table where col=1000000。如果没有索引,必须遍历整个表,直到col等于1000000的这一行被找到为止,有了索引之后(必须是在col这一列上建立的索引),即可在索引中查找。由于索引是经过某种算法优化过的,因而查找次数要少的多。

从数据搜索实现的角度来看,索引是另外一类数据对象,它包含着可以指示出相关数据记录的各种记录。其中,每一索引都包含该数据行中索引列的数据,并且保存在相对应的数据行所在的物理位置。这样,索引就相当于所有数据目录项的一个集合,用户可以根据索引列上的数据快速定位到符合条件的数据行。

  • 支持在多列上创建索引

    GaussDB 100支持在一个或多个列上创建索引,用户可以通过多个列值组合索引缩小检索的范围,组合索引不能超过16个字段。

  • 支持创建唯一性索引

    GaussDB 100支持创建唯一性索引,每次添加数据时检测表中是否有重复值。如果插,入或更新的值会导致重复的记录时将生成一个错误。

  • 支持创建分区索引

    GaussDB 100支持在分区表上创建LOCAL模式的分区索引,就是在所有每个区上单独创建索引,它能自动维护,在drop或truncate某个分区时不影响该索引的其他分区索引的使用。Local模式的索引分区数量必须和表的分区数量一致。

  • 支持创建函数索引

    GaussDB 100支持创建函数索引(Function-Based Indexes),它基于对表中列进行计算后的结果创建索引。函数索引在不修改应用程序的逻辑基础上提高了查询性能。如果没有函数索引,那么任何在列上执行了函数的查询都不能使用这个列的索引。当在查询中包含该函数时,数据库才会使用该函数索引。GaussDB 100目前支持创建upper/to_char函数索引,但是函数的参数只能是一列,并且不支持把函数索引转成约束。

  • 支持在线创建索引

    GaussDB 100支持在线创建索引,普通创建索引作为DDL操作,会对表加排他锁,从而阻塞表上并发的UPDATE/DELETE/INSERT操作,影响系统表事务吞吐量,在线创建索引和在线重建索引功能旨在创建索引和重建索引过程中,对表加共享锁(仅在开始和结束阶段短暂地加排他锁),允许UPDATE/DELETE/INSERT操作并发执行,从而不影响在线业务的执行。

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

请登录后发表评论 登录
全部评论

注册时间:2020-01-06

  • 博文量
    2907
  • 访问量
    19245