在测试环境,运行了greenplum一段时间,如果说在某一个时刻,真实的感受到了gp相对于oracle、sql server对于查询统计方面的优势,就是在针对几个几百gb的关键表,由存储,改为了列存储加压缩之后,与这几个表相关的查询,相对于oracle平均提高了几十倍。而且存储空间,节省了进一半。下面是针对一个300GB的关键表进行列存储压缩后的空间占用情况:列存储的表名为xxx_aot,普通行
本文主要讨论的是GP中在创建表时可以选择的表的存储方式,有两类: 1、存储,列存储 2、堆存储还是追加优化存储首先我们来讨论一下存和列存存储的具体形式:方向是传统的存储数据库元组的方式。 组成一的列被连续地存储在磁盘上,因此整个可以被以单次I/O从磁盘上读出。 存储是行为单位存储数据,一中越是靠后的列,那么查询需要的cost相对越大,这个以前oracle做过相应比较,都是一样的道理
前言 可以将本次讨论看成一个对PG函数的简单科普,旨在介绍一些实用而不常用的PG函数,起到在实际生产中简化代码的效果PG的聚集函数 首先要讨论的是PG的聚集函数。何谓聚集函数,官方定义是通过处理一系列数据得出一个输出结果的函数。在通用场景下可以简单的理解为能和group by配合使用的函数。pg的聚集函数分为两类,通用聚集函数和统计用聚集函数,这里我们只讨论第一种count&n
转载 4月前
210阅读
1评论
在使用greenplum时,当想将旧的集群中的数据迁移到新的集群中,有多种方法。如使用gp_dump命令进行数据的备份、拷贝与恢复,但相比较来说,还是使用gptransfer工具更简单方便,且更高效。总述gptransfer迁移工具把Greenplum数据库元数据从一个Greenplum数据库传输到另一个Greenplum数据库,允许用户迁移整个数据库的内容或者选中的表到另一个数据库。源数据库和目
之前分享过EXCEL中简单的单列数据转单行,或单行数据转单列(EXCEL行列互转三种方法 ),其中有一个方法用的就是OFFSET函数与ROW、COLUMN函数的嵌套。今天运用OFFSET+ROW+COLUMN函数组合处理更多稍微复杂一点的数据。 1.一列转多列多行(或多行多列)①先列后行,比如一列数据转为四列多行。在目标区域第一个单元格B19输入以下公式,然后向右拉到第4列,再
转载 2023-06-27 15:30:45
307阅读
>>> a = np.array([1, 2, 3]) >>> a = a.reshape(-1, 1) #-1表示任意行数,1表示1列 >>> a array([[1], [2], [3]])有时候接口会报错,需要reshape一下
转载 2023-05-27 12:24:07
193阅读
SELECT * from (SELECT id,seq ,SUBSTRING_INDEX(SUBSTRING_INDEX(idList, ';', seq),';' ,-1) idList FROM (SELECT @rownum:=@rownum+1 AS seq FROM (SELECT @rownum:= 0) r, t_dome LIMIT 0,100) b CROSS JOIN
原创 精选 2023-03-13 18:27:54
489阅读
在数据清洗和转换过程中,需要把多行按照聚合成一,下面介绍几个聚合函数。特别要注意非聚合字段是null的情况,这是导致聚合字段过长的主要原因。1.WM_CONCAT()在11G和12C版本中,这个函数已经失效。selectt.nation,wm_concat(t.city)ascitysfroma_testgroupbyt.nation;2.LISTAGG()这个函数容易出现字符串过长的报错。se
转载 2019-08-08 16:15:59
1579阅读
一、列转行1、背景描述在日常处理数据过程中,你们可能会经常遇到这种类型的数据: 而我们用pandas进行统计分析时,往往需要将结果转换成以下类型的数据:2.方法描述准备数据df = pd.DataFrame({'姓名': ['A','B','C'], '英语':[90,60,70], '数学':[80,98,80],
PostgreSQL中的crosstab(转列函数)转列是一个非常有用的功能,如果不适用转列函数,则通用做法是使用 case when 。不过,接下来,介绍一下今天的新主角–crosstab一、安装扩展环境:centos7 、pg10(yum 安装)、扩展组件 tablefunccrosstab 需要按照扩展tablefunc[root@uzong ~]# su postgres bash-
转载 4月前
245阅读
在数据清洗和转换过程中,需要把多行按照聚合成一,下面介绍几个聚合函数。特别要注意非聚合字段是null的情况,这是导致聚合字段过长的主要原因。1.WM_CONCAT()在11G和12C版本中,这个函数已经失效。selectt.nation,wm_concat(t.city)ascitysfroma_testgroupbyt.nation;2.LISTAGG()这个函数容易出现字符串过长的报错。se
转载 2019-08-08 16:15:36
967阅读
select t.rank, t.Name from t_menu_item t;     10 CLARK    10 KING    10 MILLER    20 ADAMS    20 FORD    20 JONES    20 SCOTT    20 SMITH    30 ALLEN    30 BLAKE    30 JAMES  
原创 2023-09-20 14:00:17
50阅读
  颜色部分都是相同的。 declare @Startmonth datetime; declare @Endmonth datetime; set @Startmonth='2012-1-1'; set @Endmonth='2012-8-8'; declare @month nvarchar(500); set @month='[2012-01],[2012-02]
原创 2012-05-16 11:07:05
811阅读
SQL> select * from test;ID MC---------- -------------1 111111 222222 111112 222223 111113 222223 33333已选择7。SQL> select id,ltrim(max(sys_connect_by_p...
转载 2008-11-18 14:28:00
334阅读
2评论
前言 有时会遇到没有遵守第一范式设计模式的业务表。即一列中存储了多个属性值。如下表pkvalue1ET,AT2AT,BT3AT,DT4DT,CT,AT一般有这两种常见需求(测试数据见文末)得到所有的不重复的值,如valueATBTCTDTETSQL如下:select distinct(substring_index(substring_index(a.col,',',b.help_topic_id
问题:关于Mysql 的分级输出问题情景:学校里面记录成绩,每个人的选课不一样,而且以后会添加课程,所以不需要把所有课程当作列。数据表里面数据如下图,使用姓名+课程作为联合主键(有些需求可能不需要联合主键)。本文以MySQL为基础,其他数据库会有些许语法不同。数据库表数据:处理后的结果(转列):方法一:这里可以使用Max,也可以使用Sum;注意第二张图,当有学生的某科成绩缺失的时候,输出结果为N
转载 2023-05-23 14:03:05
485阅读
PIVOT函数的格式如下 PIVOT(<聚合函数>([聚合列值]) FOR [转列前的列名] IN([转列后的列名1],[转列后的列名2],[转列后的列名3],.......[转列后的列名N])) <聚合函数>就是我们使用的SUM,COUNT,AVG等Sql聚合函数,也就是转列后计算列的聚合方式。[聚合列值]要进行聚合的列名[转列前的列名]这个就是需要将转换
数据库查询中的转列,在项目开发中用的很多,尤其一些财务报表,本章我们来讨论一下转列。什么是转列数据的原始数据:学号 姓名 课程 成绩、001 张三 语文 60001 张三 数学 89001 张三 英语 88002 李四 语文 88002 李四 数学 66002 李四 英语 90转换后的效果:学号     姓名 语文 数学 英语001  &nb
近一段时间一直没怎么看过sql了,突袭一下: 转列,列转行是我们在开发过程中经常碰到的问题。转列一般通过CASE WHEN 语句来实现,也可以通过 SQL SERVER 2005 新增的运算符PIVOT来实现。 用传统的方法,比较好理解。层次清晰,而且比较习惯。 但是PIVOT 、UNPIVOT提供的语法比一系列复杂的 SELECT...CASE 语
转载 10月前
0阅读
好久没写SQL语句,今天看到问答中的一个问题,拿来研究一下。问题链接:关于Mysql 的分级输出问题情景简介学校里面记录成绩,每个人的选课不一样,而且以后会添加课程,所以不需要把所有课程当作列。数据表里面数据如下图,使用姓名+课程作为联合主键(有些需求可能不需要联合主键)。本文以MySQL为基础,其他数据库会有些许语法不同。数据库表数据:处理后的结果(转列):方法一:这里可以使用Max,也可以使
转载 2月前
41阅读
  • 1
  • 2
  • 3
  • 4
  • 5