postgreSQL的索引

数组索引

数组中元素在内存中的存储空间是连续的,在汇编层面可以用基地址(数组名这个变量中存放的就数组中第一个元素的地址)和偏移量(数据类型+下标)进行访问。

数据库索引

避免遍历所有数据页来进行全表扫描,多数查询可以仅扫描少量索引页及数据页。

postgreSQL中的索引

所有索引都属于“从属索引”,即索引在物理上与它所描述的表文件分离;

索引本质上是数据的键值与TID (tuple ID) 间的映射

索引方式

  • 唯一索引:不允许出现索引值相同的多个tuple (在创建索引命令中加入UNIQUE关键字)。如果表上定义了一个主键,那pg会自动在主键上创建唯一索引来实现主键约束(此索引也叫主键索引)
  • 多属性索引:一个索引定义在多于一个属性上(适用于表的查询模式固定且为组合查询)
  • 部分索引:建立在一个表的子集上的索引
  • 表达式索引:建立在一个函数或从表中一或多个属性计算出来的标量表达式上

索引类型

  • B-Tree:比较查询与范围查询
  • Hash:只能处理等于比较
  • GiST
  • GIN

猜你喜欢

转载自blog.csdn.net/qq_34276652/article/details/119446602