大数据
-
Postgresql自定义函数详解
PostgreSQL函数也称为PostgreSQL存储过程。 PostgreSQL函数或存储过程是存储在数据库服务器上并可以使用SQL界面调用的一组SQL和过程语句(声明,分配,循环,控制流程等)。 语法: CREATE [OR REPLACE] FUNCTION fun…
-
PostgreSQL删除更新优化操作
1. 先说删除吧,因为刚搞了。 删除缓慢的原因:主要是约束的问题。(数据库在有约束的时候,进行操作,会根据约束对相关表进行验证,可想而知,20W的数据验证要耗费多久的时间)。其次就是sql的编写。(sql如果查询…
-
Postgresql排序与limit组合场景性能极限优化详解
1 构造测试数据 create table tbl(id int, num int, arr int[]); create index idx_tbl_arr on tbl using gin (arr); create or replace function gen_rand_arr() returns int[] as $$ select array(select (1000*r…
-
postgresql通过索引优化查询速度操作
当数据量比较大的时候,提升查询效率就是需要去考虑的事情了。一个百万级别的表格,如果不做任何优化的话,即使是最简单的查询语句执行起来也是慢的让人难以接受;当然“优化”本身是一个比较复杂的工程,从设计表、…
-
postgreSQL 非count方法算记录数操作
一般方法 select count(1) from table_name; 全量扫描一遍表,记录越多,查询速度越慢 新法 PostgreSQL 还真提供了一个这样的途径,那就是系统表 pg_class,这个系统表里头,存储着每个表的统计信息,其中 reltuple…
-
详解PostgreSql数据库对象信息及应用
目录 1. 查询数据库对象 1.1 表查询 1.2 查询Schema 1.3 查询数据库 1.7 触发器 2. 查询表占用空间 2.1 查询表占用空间 4. 总结 PostgreSql数据库对象主要有数据库、表、视图、索引、schema、函数、触发器等。Postg…
-
postgresql的now()与Oracle的sysdate区别说明
postgresql的now()为当前事务开始时间, 而Oracle的sysdate是当前时间。 区别在于事务。 postgresql中的now(): postgres=# begin ; BEGIN postgres=# select now(); now ------------------------------- 2017-03-…
-
Postgresql 通过出生日期获取年龄的操作
三个基础的时间表示函数 CURRENT_DATE/CURRENT_TIME/NOW() SELECT CURRENT_DATE ; 返回当前日期以 年-月-日(yyyy-MM-dd)的形式: 2019-01-10 SELECT CURRENT_TIME; 返回当日时间以 时:分:秒+时区(HH:mm:ss )的…
-
postgresql 获取两个时间类型小时差值案例
我就废话不多说了,看代码吧~ select extract(day from t) * 24 + extract(hour from t) from (select (timestamp '2013-12-14 12:00:00' - timestamp '2013-12-11 4:00:00') as t) as a; 例如a表中有start,end俩…
-
postgresql中时间转换和加减操作
昨天遇到一个floor向下取整的问题,现在将它记录下来。 首先floor是需要一个int或者dp。那么我们日期加减转换,timestamp 转data,是需要先将其转成char,再由char转date,再相减,得出一个符合floor函数要求的值。 …