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

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

2025-04-27 10:41:13 栏目:宝塔面板 22 阅读

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

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

1.png

2.png

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

1).索引类型

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

3.png

2).索引结构与存储

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

4.png

3).索引对象

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

4).分区索引

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

5.png

5).索引优化

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

6).索引维护与开发

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

本文地址:https://www.yitenyun.com/105.html

搜索文章

Tags

数据库 API FastAPI Calcite 电商系统 MySQL 数据同步 ACK 双主架构 循环复制 Web 应用 异步数据库 序列 核心机制 生命周期 Deepseek 宝塔面板 Linux宝塔 Docker JumpServer JumpServer安装 堡垒机安装 Linux安装JumpServer esxi esxi6 root密码不对 无法登录 web无法登录 Windows Windows server net3.5 .NET 安装出错 宝塔面板打不开 宝塔面板无法访问 SSL 堡垒机 跳板机 HTTPS Windows宝塔 Mysql重置密码 无法访问宝塔面板 HTTPS加密 查看硬件 Linux查看硬件 Linux查看CPU Linux查看内存 ES 协同 修改DNS Centos7如何修改DNS scp Linux的scp怎么用 scp上传 scp下载 scp命令 防火墙 服务器 黑客 Serverless 无服务器 语言 存储 Oracle 处理机制 Spring SQL 动态查询 Linux 安全 网络架构 工具 网络配置 加密 场景 MySQL 9.3 开源 PostgreSQL 存储引擎 RocketMQ 长轮询 配置 架构 InnoDB 缓存方案 缓存架构 缓存穿透 HexHub Canal Rsync 信息化 智能运维 日志文件 MIXED 3 响应模型 线上 库存 预扣 监控 聚簇 非聚簇 索引 B+Tree ID 字段 数据 业务 AI 助手 数据库锁 分库 分表 单点故障 GreatSQL Hash 字段 优化 万能公式 云原生 DBMS 管理系统 SpringAI Redis 自定义序列化 Redis 8.0 openHalo OB 单机版 数据集成工具 sqlmock SVM Embedding PostGIS 系统 SQLark 虚拟服务器 虚拟机 内存 SQLite Redka ​Redis 机器学习 推荐模型 自动重启 运维 缓存 sftp 服务器 参数 RDB AOF 分页查询 Netstat Linux 服务器 端口 排行榜 排序 prometheus Alert 同城 双活 容器化 分布式架构 分布式锁​ 聚簇索引 非聚簇索引 共享锁 • 索引 • 数据库 Entity 开发 技术 Testcloud 云端自动化 查询 EasyExcel MySQL8 SQLite-Web 数据库管理工具 向量数据库 大模型 IT 不宕机 数据备份 Postgres OTel Iceberg 数据类型 OAuth2 Token StarRocks 数据仓库 Doris SeaTunnel 分页 数据结构 AIOPS Python Web MongoDB 容器 LRU 人工智能 推荐系统 IT运维 连接控制 机制 Caffeine CP 部署 Milvus 悲观锁 乐观锁 池化技术 连接池 崖山 新版本 高可用 向量库 Ftp redo log 重做日志 MVCC 事务隔离 磁盘架构 流量 电商 MCP mini-redis INCR指令 开放协议 Web 接口 字典 QPS 高并发 对象 微软 SQL Server AI功能 单线程 线程 速度 服务器中毒 数据脱敏 加密算法 窗口 函数 R2DBC 双引擎 RAG HelixDB 原子性 频繁 Codis 主库 Order 网络 Crash 代码 ZODB SSH Pottery dbt 数据转换工具 1 PG DBA 工具链 引擎 优化器 性能 List 类型 InfluxDB 模型 传统数据库 向量化 发件箱模式 意向锁 记录锁 网络故障 事务同步 UUIDv7 主键 仪表盘 Redisson 锁芯 线程安全 INSERT COMPACT Undo Log LLM 连接数 订单 JOIN