国产集中式数据库对象评测 — 索引

原创
数据库 其他数据库
索引能否发挥更大作用,取决于优化器能能否充分地利用索引。这里有一些常见的优化手段,包括索引覆盖扫描、索引条件下推、索引跳跃扫描等等。这里稍微吐槽下,国内数据库这部分介绍的不多,搜索也得不到有用的信息,因此可能信息不够完整。

1. 对象(索引)能力概述

先来看看各家数据库产品在索引能力的大致表现如何。限于宽度,这里拆分为两个表格。

1.png1.png

2.png2.png

2. 对象(索引)能力详解

1).索引类型

随着数据库对数据模式的支持不断丰富及使用场景的更加多元,更多索引类型的支持成为必然。除了传统的B+树索引外,正有更多的索引类型被主持。下面列举了一些索引类型及使用的场景等。当然从实际使用来看,传统B+树仍然为主流,也是被大家广泛使用的。从国产数据库支持情况来看,差异较大;PG系产品相对有一定优势,支持了更为丰富的索引类型。

3.png3.png

2).索引结构与存储

索引在存储结构通常采用的是B+树的结构,根据索引类型的不同,也有采用其他结构的。在存储组织格式上,聚集与非聚集索引页都有存在,一般数据库也都支持两种方式。

4.png4.png

3).索引对象

针对索引对象,不同数据库差异较大。除了通常意义针对字段值进行索引外,还有数据库支持字段值的反转后进行索引,这将有利于消除热点。有些数据库还支持对表达式、函数进行索引,这无疑增加了索引的适应场景。此外,还有数据库支持对部分字段值(如前缀)或部分记录进行索引。

4).分区索引

索引对分区能力的支持,是在应对大数据量情况下的关键技术。从个人过去的使用来看,通常慎选全局索引,而尽量选择代价较低的本地索引。从国产数据库来看,也都支持了这两种类型,除了MySQL对此能力相对较弱外,其他都差不多。这里差异主要体现在分区索引维护上面。

5.png5.png

5).索引优化

索引能否发挥更大作用,取决于优化器能能否充分地利用索引。这里有一些常见的优化手段,包括索引覆盖扫描、索引条件下推、索引跳跃扫描等等。这里稍微吐槽下,国内数据库这部分介绍的不多,搜索也得不到有用的信息,因此可能信息不够完整。

6).索引维护与开发

针对运维层面,索引会带来部分工作,例如定期监控索引的状态、使用情况等。如数据库提供了良好的可观察性和便捷的维护方式会带来很大收益。针对开发层面,一方面如何使用好索引,另一方面则是针对当前情况能给出一些索引建议。这两点,Oracle做得相对完善,国产数据库还有一定距离。

责任编辑:武晓燕 来源: 韩锋频道
相关推荐

2025-03-27 07:30:28

2025-02-18 07:30:35

2024-12-04 08:44:25

OS集中式数据库

2022-06-06 07:32:44

数据库系统分布式

2012-02-23 23:33:37

开源memcached

2023-11-27 08:33:42

2025-04-21 07:31:21

OB单机版数据库

2023-08-22 14:20:21

2024-12-05 07:31:16

2025-04-23 07:31:14

2015-07-28 09:44:38

集中式云数据加密安全漏洞

2025-01-09 07:30:49

SQL能力评测

2019-11-07 11:21:21

安全软件IT

2022-03-29 14:28:03

架构安全设计

2024-12-19 07:30:34

2024-12-10 07:30:46

2012-02-21 09:59:52

2009-07-02 19:24:50

安全管理Windows审计

2009-07-20 11:11:34

分光器FTTP

2011-10-19 13:53:11

点赞
收藏

51CTO技术栈公众号