随笔分类 - SQL
摘要:Postgresql 提供了对于分区表 global index 的支持。global index 不仅提供了对于唯一索引功能的改进(无需包含分区键),而且在性能上相比非global index (local index)有很大的提升(无法提供分区条件情况下)。以下举例说明二者在性能方面的差异。 1
阅读全文
摘要:1、修改参数 2、创建两个用户 创建a1 create user a1 connection limit-1 password '123456'; alter user a1 SUPERUSER; grant create on database "test" to "a1" with grant
阅读全文
摘要:一、简介 PostgreSQL自带了pgstattuple模块,可用于精确计算表的膨胀率。譬如这里的tuple_percent字段就是元组实际字节占关系总大小的百分比,用1减去该值即为膨胀率。 二、示例一 #插入1000W数据 postgres=# insert into t select id,i
阅读全文
摘要:一、示例 select 8/(100-3) as c1, round(8/(100-3) ,4) as c2, round(8/(100-3)::numeric ,4) as c3, 8/(100-3)::numeric as c4 ; -[ RECORD 1 ] c1 | 0 c2 | 0.000
阅读全文
摘要:一、具体方法 一般情况下直接执行 drop role xxx; 就可以把这个用户删除。但是很多时候会因为用户有依赖而报错。 二、权限依赖 postgres=# create role test with login; CREATE ROLE postgres=# grant all on datab
阅读全文
摘要:一、示例 这两个SQL执行所得到的数据是一样的! select count(s.*) from ( select *, row_number() over (partition by fee_date order by fee_date) as gr from new_order where new
阅读全文
摘要:先介绍一下Postgresql的建索引语法: CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ name ] ON table [ USING method ] ( { column | ( expression ) } [ COLLATE collation ]
阅读全文
摘要:今天开发问到,postgressql里面有没有像mysql那样插入一个值后返回插入的值,这个是有的,而且有更强的扩展性。 示例: [postgres@localhost ~]$ psql psql (9.2.4) Type "help" for help. postgres=# create tab
阅读全文
摘要:PG的时间函数使用整理如下1.获取系统时间函数 select now(); --2012-05-12 18:51:59.562+08 select current_timestamp; --2012-05-12 18:52:12.062+08 select current_date; --2012-
阅读全文
摘要:背景: PostgreSQL里面没有存储过程,只有函数,其他数据库里的这两个对象在PG里都叫函数。 函数由函数头,体和语言所组成,函数头主要是函数的定义,变量的定义等,函数体主要是函数的实现,函数的语言是指该函数实现的方式,目前内置的有c,plpgsql,sql和internal,可以通过pg_la
阅读全文
摘要:KingbaseES 内置了对于insert all / first 语法的支持。 一、数据准备 create table t1(product_id number, product_name varchar2(80),month number); create table t2(product_i
阅读全文
摘要:Postgresql 常用的字符数据类型的有char、varchar和text,其中 char 固定长度类型, varchar 和 text 是可变长度类型。这三种类型在进行比较时,会进行隐含的类型转换。这种转换会导致索引可能无法使用,影响SQL的执行计划。以下以例子的形式展示Postgresql
阅读全文
摘要:KINGBASE 兼容Oracle 语法,实现了merge into 的功能。以下以例子的形式,介绍merge into语法的使用。以下例子在V8R6 ,且 database_mode=oracle 环境下验证过,database_mode=pg 不支持merge into 语法。 一、创建测试数据
阅读全文
摘要:在SQL标准中字符串是用单引号括起来的,在KingbaseES中遵守了该标准,如果在字符串中需要使用到单引号,就需要对其进行转义。 方式一:使用E和反斜杠进行转义 方式二:直接用一个单引号来转义 在KingbaseES数据库 oracle 模式中还支持使用 Q'' 来对特殊字符进行转义: 格式:q'
阅读全文
摘要:通过with子句,我们可以把很多原本需要存储过程来实现的复杂逻辑用一句SQL来进行表达。KingbaseES 从V008R006C004B0021 版本开始,支持 with function 语法。例子如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
阅读全文
摘要:概述:通常递归查询是一个有难度的话题,尽管如此,它们仍使您能够完成在 SQL 中无法实现的操作。本文通过示例进行了简单介绍,并展示了与 PL/SQL的递归查询实现的差异。 一、公用表表达式(WITH子句) 公用表表达式(CTE)可以被看作是一个视图,只适用于一个单一的查询: 1 2 3 4 5 WI
阅读全文