当前位置: 首页 > news >正文

duckdb索引介绍

duckdb支持的索引类型

duckdb支持两种索引:Min-Max Index (Zonemap)和Adaptive Radix Tree (ART)。前者所有通用数据类型(general-purpose data types,也就是常用的数据类型如varchar/integer/date等,非通用类型指的是set/list/array/json等复合类型)的字段上都包含,因为duckdb是列存,所以每个列所在的块(256kb)头中维护了本块里面当前字段的最大和最小值,以便于快速过滤(列存数据结构对应的访问sdk通常支持pushdown,访问具体内容之间先做检查,便于无用功访问。除了最大最小值,通常还包括很多其它元数据如数量、唯一值数量、空值数量等,都是为了快速过滤。为什么行存没有min-max index,因为多个字段、自然没办法维护,总不能为每个字段都维护,虽然理论上可行,但是每行通常几十甚至上百个字段,一个块内没几行记录,存一下貌似效果不大),这就是Min-Max Index (Zonemap)。ART索引主要是用于主键、唯一键的维护,当然也可以普通索引,CREATE INDEX默认创建的就是ART索引。

ART索引的限制

1、速度奇慢无比。如下1000w表的update 17分钟还没完成(这还是我没加唯一限制):

image

2、单次更新不能超过duckdb vector(和chunk一个意思,可以交换用,文档中喜欢叫vector,代码中用chunk,其实代码中也有不少vector,反正一个意思)的大小(默认2048,修改需要改源码重新编译),否则唯一索引会报Duplicate key "i: 2048" violates primary key constraint.。因为duckdb按照chunk为单位进行更新,也没有维护全局索引的概念。

3、创建art索引的时候,内存必须有足够的空间容纳整个art索引,art索引最后还是持久化到磁盘的,和b+树索引没有区别,都是value-rowid对的形式。

 

https://duckdb.org/docs/stable/sql/indexes

http://www.jsqmd.com/news/45960/

相关文章:

  • 25.11.20 最长不升序列LNIS和最长升序列LIS
  • 周赛提高组(栈与队列)
  • 2025.11.20 B 题解
  • 重组干扰素蛋白的结构特点与分子性质综述
  • 2025 门窗十大品牌权威榜单:依托行业评估报告 + 选购白皮书,省心采购指南!
  • 实用指南:OpenCV下载安装教程(非常详细)从零基础入门到精通,看完这一篇就够了(附安装包)
  • 详解 DPO
  • 程序员手记
  • Object.entries() 和 Object.formEntries()的用法详解
  • 详细介绍:MyBatis 与 Spring Data JPA 核心对比:选型指南与最佳实践
  • 详细介绍:【从0开始学习Java | 第23篇】动态代理
  • 安卓中执行 root 命令
  • UniApp缓存系统详解 - 详解
  • FreeSWITCH使用mod_fail2ban模块来提升安全
  • 【ArcMap】使用拓扑(Topology)检查线是否存在断点
  • 电动汽车行业时序数据库选型指南:以 TDengine 为例的四大关键维度与评估标准
  • CF2165 VP 记录
  • 如何在SPM混编中实现不同target之间的通信?
  • Python在线教育广告精准投放:SEM结构方程、XGBoost、KDE核密度、聚类、因子分析、随机森林集成优化融合用户满意度渠道效能|附代码数据
  • 完整教程:Spring Boot Actuator全解析
  • 专题:2025年AI Agent智能体行业价值及应用分析报告:技术落地与风险治理|附140+ 份报告PDF、数据、可视化模板汇总下载
  • 2025/11/20-Why brushing teeth twice a day is not always best
  • uos安装idea
  • HDU3586-Information Disturbing
  • 【App Service】.NET 应用在App Service上内存无法占用100%的问题原因
  • 深入解析:css 的 clip-path 属性,绘制气泡
  • 快速构建一个基础、现代化的 WinForm 管理系统!
  • 国内外研究现状全面解析:掌握学术前沿的必备指南
  • 费马小定理在素数检测中的应用
  • 把 1688 商品详情「搬进 MySQL」:Java 爬虫全链路实战(2025 版) - 实践