具有唯一约束的 Postgres 哈希索引

2024-01-17

由于 Postgres 10 正确支持哈希索引,我想使用哈希索引进行 id 查找(与 btree 相比,哈希索引的大小更小,理论上更快)。

我有一张桌子

create table t (id int);
create unique index on t using hash (id);

但我得到以下信息:

ERROR: access method "hash" does not support unique indexes

为什么哈希索引不允许唯一约束? 有办法规避这个问题吗?


文档 https://www.postgresql.org/docs/10/static/indexes-unique.html毫无疑问:

目前,只有 B 树索引可以声明为唯一。

有一个关于黑客名单的讨论 https://www.postgresql.org/message-id/6318fb86-0a64-61e7-e4e2-714db2b3407a%40anastigmatix.net最近对此进行了研究,得出的结论是,添加允许的功能并不简单UNIQUE哈希索引。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有唯一约束的 Postgres 哈希索引 的相关文章

随机推荐

  • “where id in(ids)”的性能?

    使用以下查询可以吗 表现如何 select from table where id not in 2000 or much more ids here 我的初始测试进行得非常快 但我想这是因为我是现在唯一使用该服务器的人 如果你有一个索引
  • 批处理脚本在失败时不会引发 ERRORLEVEL

    我正在学习 Windows 批处理脚本 当复制 移动或删除操作失败时 我需要引发错误 我制作了一个示例脚本 由于某种原因 当操作失败时 我无法使 ERRORLEVEL 上升 我运行脚本 文件要么不存在 要么在另一个程序中打开 并且 stde
  • ThreadPool.SetMinThreads 和 SetMaxThreads 以及核心数量

    我目前正在研究 Redis 为了调整其功能 我们需要更改 ThreadPool 的设置 特别是 Worker IOC 线程的最小数量 我们在 Azure Web 角色中托管应用程序 并将其一部分托管在辅助角色中 阅读 asp net 的文档
  • 将 css 类添加到多个元素

    我创建了一个名为 button 的 CSS 类 并通过简单地使用以下命令将其应用到我的所有 INPUT 标签 button input css stuff here p class button p
  • 如何单独使用 CSS 更改点击图像?

    我有一张图像 当单击该图像时 我想显示其下方的另一张图像 我正在寻找一个简单的 CSS 解决方案 那可能吗 TL DR input type checkbox content url http placekitten com 150 160
  • T-SQL如何防止删除表中的第一行

    我有一个这样的表 CREATE TABLE Users idUser int IDENTITY 1 1 PRIMARY KEY firstName varchar 40 NOT NULL secondName varchar 40 last
  • 用于移动设备的网络图表库,我们自己的研究[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我们正在为我们被要求做的网络图表应用程序寻找一个很好的基于 javascript 的库 这些图表将是可
  • Flutter:如何循环遍历“DocumentSnapshot.data()”中的每个字段

    I have a collection where each user has their own document In the document I create a map for a new entry The document w
  • 在 AMP HTML 页面上嵌入带标记的地图

    目前 我使用 Google 地图 API 生成带有给定位置标记 给定一组纬度 经度坐标 的地图 在 AMP HTML 中 当前执行此操作的方法似乎是使用 amp iframe 扩展https github com ampproject am
  • http持久连接和ssl会话

    HTTP 是一种应用程序协议 底层的 TCP 连接可以关闭并重新打开 而不会影响 HTTP 应用程序 性能除外 通过使用 HTTP1 1 我们使用持久连接 但服务器或客户端仍然可以随时关闭连接 为了安全起见 HTTP 通过 SSL TLS
  • 函数初始化代码从西雅图更改为东京吗?

    我正在将代码从 Delphi 10 Seattle 升级到 Delphi 10 2 Tokyo 并得到很多 H2077 提示Value assigned to never used关于作业 即使在过去明确添加这些内容以消除 可能没有价值 警
  • 如何打开文件而不将其保存到磁盘

    我的问题 如何打开文件 在文件的系统默认 外部 程序中 而不将文件保存到磁盘 我的情况 我的资源中有文件 我想显示这些文件而不先将它们保存到磁盘 例如 我有一个xml文件 我想在用户机器上的默认程序中打开它进行阅读xml文件而不先将其保存到
  • 如何使 ASP.NET TextBox 在 AJAX UpdatePanel 中触发 onTextChanged 事件?

    我试图让一个文本框在每次击键时触发它的 onTextChanged 事件 而不是仅在失去焦点时触发 我认为添加 AsyncPostBackTrigger 可以做到这一点 但它仍然不起作用 我想做的事情可能吗 代码如下
  • Windows 匿名管道上的非阻塞 io

    我希望在 Windows 匿名管道上进行非阻塞 io 这是一个 NET 项目 因此如果可能的话我计划使用托管类 我看到 NET 确实有 AnonymousPipeServerStream 和 AnonymousPipeClientStrea
  • mixReducer 中使用的减速器的声纳代码气味

    我正在使用combineReducers来组合reducers和reducer 如下所示 const todo state action gt switch action type case TOGGLE TODO if state id
  • Spring Boot 无法使用 Java 配置更改 Thymeleaf 模板目录

    将 Thymeleaf 模板文件放置在默认值中src main resources templates对我来说工作正常 当我想重命名目录时说mytemplates 这是行不通的 我收到找不到模板位置 classpath templates
  • JavaScript:获取图像尺寸

    我只有一个图像的 URL 我需要仅使用 JavaScript 确定该图像的高度和宽度 用户在页面上无法看到该图像 我怎样才能得到它的尺寸 var img new Image img onload function var height im
  • 如何将符号链接文件添加到 gitlab 存储库

    如何将文件的符号链接添加到 gitlab 存储库 每次我从 gitlab 运行管道时 本地符号链接都会被破坏 任何关于如何为 gitlab repo 内部的文件夹创建符号链接的建议都会很棒 您可以在 Git 存储库中存储符号链接 特殊条目
  • CSS3边框半径简写解决方案

    Is this border radius 10px 10px 0 0 一个缩短的版本 适用于所有识别它的浏览器 border top left radius 10px border top right radius 10px 是的 第一种
  • 具有唯一约束的 Postgres 哈希索引

    由于 Postgres 10 正确支持哈希索引 我想使用哈希索引进行 id 查找 与 btree 相比 哈希索引的大小更小 理论上更快 我有一张桌子 create table t id int create unique index on