第五章 执行计划详解 5.3.4 关联 hash join hash left join NestLoop Merge join & merge left join: 因为要对左右表按关联键先进行排序,所以效率比hash join差 Merge full join:唯一可以执行full outer join的方式 Hash exists join 5.3.5 sq
转载
2024-02-08 22:47:17
61阅读
标签 PostgreSQL , GIS , PostGIS , Greenplum , 空间检索 , GiST , B-Tree , geohash 背景 气象数据、地震数据、室内定位、室外定位、手机、车联网、还有我们最喜欢的“左划不喜欢、右划喜欢”,越来越多的位置属性的数据。将来会越来越多。 基于GIS的数据分析、OLTP业务也越来越受到决策者的青睐,例如商场的选址决策,O2O的广告营销等。有
转载
2024-07-29 17:32:27
23阅读
PostgreSQL学习手册(六) 索引一、索引的类型: PostgreSQL提供了多种索引类型:B-Tree、Hash、GiST和GIN,由于它们使用了不同的算法,因此每种索引类型都有其适合的查询类型,缺省时,CREATE INDEX命令将创建B-Tree索引。 1. B
转载
2024-03-26 20:12:15
48阅读
问题描述项目中使用GP数据库做实时同步,对于这种高并发大数据量的dml操作,效率非常低,于是,考虑到索引优化。有时候,已经建了索引,但是看查询计划,并没有使用到索引;案例对于odb_ywuser_prpcmain这张表,policyno为分布键。在列 policyno 建了一个名叫 idx_db_ods_odb_ywuser_prpcmain 的索引,在列 policyno,inserttime
转载
2024-03-18 14:07:14
72阅读
标签PostgreSQL , Greenplum , bitmap index 背景PostgreSQL 目前支持8种索引接口,包括B-Tree, hash, gin, gist, sp-gist, brin, rum, bloom。Greenplum 目前支持B-Tree, GiST, bitmap三种索引接口。用户可以根据不同的数据类型,不同的请求类型,使用不同的索引接口建立相应的索引。例如对
转载
2024-06-18 23:31:26
87阅读
鉴于OLAP系统的特性,应该谨慎并保守地使用索引。避免在频繁更新的列上使用索引;在高选择性的列上使用B-tree索引;在低选择性的列上使用Bitmap索引。
通常来说在传统数据库中使用索引可以有效的提高数据访问效率,特别是在OLTP系统中,往往只是需要从大表中获取几行或者部分的数据记录,这个情况下索引确实是特别有效的提高数据获取速度的方法。但是在gp中
转载
2024-03-22 19:27:35
57阅读
合适的索引,能大幅度提升数据库表读的效率,但这里也不并不是说表上的索引越多越好。因此在数据库设计过程中,需要考虑创建索引的代价。在数据库中索引的维护代价约是表的3倍,并且数据表写和读两者不能兼得。如果要提高表写入性能,那么索引在一定程度上会阻碍数据的插入速度,因为数据库需要维护索引和维护数据原子性。 索引的种类有很多,常见的有B-树索引,位图索引,基于函数的索引,分区索引
转载
2024-03-18 21:43:42
45阅读
Greenplum 索引 文章目录Greenplum 索引1 概述1.1 索引不是万能的,无副作用的1.2 主键自动创建索引,分布表索引见到主表2 索引的命名规范3 索引使用规范3.1 索引需要考虑的因素4 Greenplum 支持的索引类型5 Greenplum索引分类及适用场景6 索引测试6.1 bitmap索引6.3 B-tree索引6.3 表达式索引7 检查索引使用 PostgreSQL
转载
2024-02-03 22:44:38
142阅读
作者:(美)Hannu Krosing, Jim Mlodgenski, Kirk Roybal 著3.2 PL/pgSQL函数的结构如果我们想运行一个PL/pgSQL函数,实际上并不需要太多元素。以下就是一个非常简单的例子:前面这个函数显示了最少元素的PL / pgSQL函数。该函数为substring内置函数创建了一个别名mid。对于Microsoft SQL Server或者MySQL的开发
转载
2024-06-27 06:42:40
67阅读
随着数据仓库中数据的不断累加,某些查询的效率变得越来越慢,除了对查询的SQL需要优化,对查询的基表进行拆分(分区表),对某些常用查询字段加索引已经变得很需要了。3.3.6版本Greenplum中索引的语法是这样的:CREATE [UNIQUE] INDEX [CONCURRENTLY] name ON table[USING method]( {column | (expression)} [op
原创
2013-10-19 19:22:35
6738阅读
在云栖社区的问答区,有一位网友提到有一个问题:表里相似数据太多,想删除相似度高的数据,有什么办法能实现吗?
例如:
银屑病怎么治?
银屑病怎么治疗?
银屑病怎么治疗好?
银屑病怎么能治疗好?
等等解这个问题的思路 .1. 首先如何判断内容的相似度,PostgreSQL中提供了中文分词,pg_trgm(将字符串切成多个不重复的token,计算两个字符串的相似度) . 对于本题,我建议采取中文分词的方
Greenplum常用查询命令#查看test_bd事务(即数据库)下的所有表名包含 user 的 表信息SELECT UPPER(A.SCHEMANAME) AS SCHEMANAME, UPPER(A.TABLENAME) AS TABLENAME,
D.ATTRELID,D.ATTRELID :: regclass,UPPER(D.ATTNAME) AS ATTNAME,
REPLACE(RE
转载
2023-08-26 02:09:48
144阅读
本文为博主在学习Greenplum时阅读的《Greenplum企业应用实战》时的笔记,对书中章节的知识要点进行了归纳和梳理。有兴趣的同学可以找原书学习下。如果认为文中内容涉嫌侵权请及时联系博主删除文章。软件安装及数据库初始化Greenplum架构Master主机与Segment主机的职责Master建立与客户端的会话连接和管理SQL的解析并形成分布式的执行计划将生成好的执行计划分发到每个Segme
转载
2023-08-30 12:53:33
198阅读
前言 可以将本次讨论看成一个对PG函数的简单科普,旨在介绍一些实用而不常用的PG函数,起到在实际生产中简化代码的效果PG的聚集函数 首先要讨论的是PG的聚集函数。何谓聚集函数,官方定义是通过处理一系列数据得出一个输出结果的函数。在通用场景下可以简单的理解为能和group by配合使用的函数。pg的聚集函数分为两类,通用聚集函数和统计用聚集函数,这里我们只讨论第一种count&n
转载
2024-04-05 08:01:04
466阅读
1评论
Greenplum目录结构、配置文件和环境变量Greenplum目录结构、配置文件和环境变量1 日志1.1 集群初始化日志位置1.2 Greenplum日志配置方案1.3 数据库log文件1.3.1 pg_log1.3.2 pg_xlog1.3.3 pg_clog1.4 数据库的启动和关闭日志2 文件目录file layout2.1 master主机上目录结构2.1.1 软件安装目录结构2.1.2
转载
2024-04-22 18:22:07
36阅读
GreenPlum支持的函数比较多,不仅支持常见的函数,例如数学函数、字符串函数、位串函数、时间/日期函数和聚集函数,页包含特殊的函数,例如网络地址函数、几何函数等。本篇主要从以上几个方面介绍GreenPlum的函数迁移。1.1.1. 数学函数1.1.1.1. abs(x)求参数的绝对值GBase 替代:abs1.1.1.2. acos(x)反余弦GBase 替代:a
转载
2024-03-20 12:45:51
1057阅读
(1)新增节点环境配置并修改hosts文件参考前面gp安装章节1-5部分注意:将新增节点的IP和主机名加入到原有的集群的/etc/hosts文件中,将hosts文件复制到新增加的节点中(2)新增节点上安装gp软件#在主节点上用root登录su -#在主节点上创建两个的host列表文件:一个包含现有gp的所有的host名称,另一个包含新加节点的host名称。vim /data/existhostsv
转载
2024-04-25 22:20:34
40阅读
PostgreSQL 中的序列与 Oracle 类似,是一个独立的对象,而 MySQL 的序列是绑定在一张表的字段上的,自增长序列只能用于表的一个字段,且不能被其他表共用,相对来说,PostgreSQL 的序列更加灵活和通用。本文示例在 PostgreSQL 11.5 上测试。一、PostgreSQL 序列的创建语法CREATE [ TEMPORARY | TEMP ] SEQUENCE name
转载
2024-04-27 18:32:34
222阅读
专题:SQL使用技巧——实践是检验SQL函数的唯一标准一.常规计算函数说明1.1系统当前日期时间1.2日期时间格式转换1.3日期加减计算函数1.4日期时间部分提取1.5日期时间函数的嵌套使用二.使用案例2.1存储过程计算日期时间表2.2未完待续 常用的格式化(format)标识符:yyyy:四位年份
mm:月份,不足两位补0
dd:日期,不足两位补0
hh24:小时,24小时制,不足两位补0
h
转载
2024-04-18 15:13:04
660阅读
用户/角色在整个数据库实例中是全局的。用户和角色区别是用户默认有LOGIN权限,其他同。在系统初始化时有个预定的超级用户,操作系统用户名,比如gpadmin。每个数据库的逻辑结构对象都有一个所有者,所有者默认拥有所有权限,不需要重新赋予。删除和任意修改它的权利不能赋予别人,为所有者固有,不能被赋予或撤销。可以把操作该对象的权限赋予别人。 授权和撤销授权 用命令GRANT RE