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

郑州网站建设哪家公司好/下载百度app免费下载安装

郑州网站建设哪家公司好,下载百度app免费下载安装,搭建公司网站,全国物流信息网标签 PostgreSQL , 数组 , 多对多 , 一对多 , udf , JOIN 背景 某个系统存储了会员的标签,以及标签的描述信息。业务上需要通过会员ID得到会员的标签,再得到描述信息。 每个会员有若干标签,原来是这么存储的 1、会员标签表,人数5亿…

标签

PostgreSQL , 数组 , 多对多 , 一对多 , udf , JOIN


背景

某个系统存储了会员的标签,以及标签的描述信息。业务上需要通过会员ID得到会员的标签,再得到描述信息。

每个会员有若干标签,原来是这么存储的

1、会员标签表,人数5亿左右,每个人平均有几百个标签,1500亿行左右。

create table a(uid int8, tag int);  

2、标签描述表。

几百上千条

create table b(tag int primary key, info text);  

查询如下

SQL

select a.*,b.* from a join b using(tag) where a.uid=?;  

问题

1、会员标签表,存在大量冗余数据,人数5亿,放大到了1500亿记录。

2、查询单个会员时,由于数据冗余的问题,涉及大量离散扫描。

背景知识参考

《PostgreSQL 时序最佳实践 - 证券交易系统数据库设计 - 阿里云RDS PostgreSQL最佳实践》

设计优化

使用数组类型,将多条合并为一条

create table a (uid int8 primary key, tag int[]);  create table b (tag int primary key, info text);  

使用UDF获取标签描述

create or replace function get_desc(int[]) returns text[] as $$  select array_agg(info) from b where tag = any ($1);  -- 可以走索引  
$$ language sql strict ;  

查询如下

SQL

select uid,get_desc(tag) from a where uid=?;  

优势

1、数据下降到5亿条,消除了多个UID的离散扫描。同时节约了空间。

2、消除JOIN,性能好。预计能到几十万QPS。

小结

利用好PG的特性,可以给业务上带来非常大的惊喜,比如成本压缩,性能提升。

http://www.jmfq.cn/news/5027347.html

相关文章:

  • 广州做营销型网站哪家好/线上营销公司
  • 购物网站产品做促销能赚钱吗/上往建站
  • 龙华网站建设设计/seo外包公司需要什么
  • 国内专业做网站/广州关键词排名推广
  • 怎么做辅助发卡网站/种子搜索神器 bt 下载
  • 手机上怎么做能打开的网站吗/中国免费域名注册平台
  • 万网做网站如何下载模板/企业网站的推广方法有哪些
  • 海淀区手机网站设计服务6/活动推广方式
  • 坊网站建设/app有哪些推广方式
  • 百度广告联盟电话/石家庄seo公司
  • 国际传媒网站设计/百度一下就知道官网
  • 只做动漫的网站/东莞网站推广运营公司
  • 用php做企业网站的可行性/培训机构专业
  • 保定网站制作公司/武汉网站设计公司
  • 2018网站建设合同范本/aso网站
  • 有哪些网站可以接单做效果图/南京seo优化
  • 平台推广是什么意思/合肥优化
  • 如何规划设计一个网站/垂直搜索引擎
  • 做一个网站 如何盈利模式/友情链接出售网
  • 建设企业网站的/seo推广编辑
  • 用树莓派做网站/个人网站网页首页
  • 路由器通过域名解析做网站/站长统计官方网站
  • 修改wordpress注册邮件/谷歌seo和百度seo区别
  • 简述如何让网站排名快速提升/网络推广方案的基本思路
  • 深圳网站建设 罗湖/中国百强县市榜单
  • 网站怎么做浏览量才会多/服务器
  • 网站推广链接怎么做/爱站网长尾关键词挖掘工具下载
  • 做网站先用dw还是asp/上海最近3天疫情情况
  • 建建建设网站/友妙招链接怎么弄
  • 怎么做代刷网站教程/域名查询注册商