• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PostgreSQL hstore 列性能提升案例

mysql 搞代码 4年前 (2022-01-09) 47次浏览 已收录 0个评论

PostgreSQL 支持hstore 来存放KEY-gt;VALUE这类数据, 其实也类似于ARRAY或者JSON类型。 要高效的使用这类数据,当然离不开高效

PostgreSQL 支持hstore 来存放KEY->VALUE这类数据, 其实也类似于ARRAY或者JSON类型。 要高效的使用这类数据,当然离不开高效的索引。我们今天就来看看两类不同的索引对于同一种检索请求的性能问题。

假如我们有这样一个原始表,基于str1字段有一个BTREE索引。

t_girl=# \d status_check;
Table “ytt.status_check”
Column | Type | Modifiers
——–+———————–+———–
is_yes | boolean | not null
str1 | character varying(20) | not null
str2 | character varying(20) | not null
Indexes:
“index_status_check_str1” btree (str1)

里面有10W条记录。 数据大概如下,

t_girl=# select * from status_check limit 2;
is_yes | str1 | str2
——–+——+———————-
f | 0 | cfcd208495d565ef66e7
t | 1 | c4ca4238a0b923820dcc
(2 rows)

Time: 0.617 ms
t_girl=#

存放hstore类型的status_check_hstore 表结构,基于str1_str2字段有一个GIST索引。

Table “ytt.status_check_hstore”
Column | Type | Modifiers
———–+———+———–
is_yes | boolean |
str1_str2 | hstore |
Indexes:
“idx_str_str2_gist” gist (str1_str2)

t_girl=# select * from status_check_hstore limit 2;
is_yes | str1_str2
——–+—————————–
f 本文来源gaodai#ma#com搞@@代~&码*网2 | “0”=>”cfcd208495d565ef66e7″
t | “1”=>”c4ca4238a0b923820dcc”
(2 rows)

Time: 39.874 ms

更多详情见请继续阅读下一页的精彩内容:

————————————华丽丽的分割线————————————

CentOS 6.3环境下yum安装PostgreSQL 9.3

PostgreSQL缓存详述

Windows平台编译 PostgreSQL

Ubuntu下LAPP(Linux+Apache+PostgreSQL+PHP)环境的配置与安装

Ubuntu上的phppgAdmin安装及配置

CentOS平台下安装PostgreSQL9.3

PostgreSQL配置Streaming Replication集群

————————————华丽丽的分割线————————————

PostgreSQL 的详细介绍:请点这里
PostgreSQL 的下载地址:请点这里


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PostgreSQL hstore 列性能提升案例

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址