pgsql使用积累系列_表分区(测试)
2018-01-19 14:21
316 查看
写在前面:这不是一个知识系列博客,这只是对本人使用过知识的一个记录,最好的资源应该是官方文档。
官网doc: https://www.postgresql.org/docs/current/static/plpgsql.html select * from pg_tables where schemaname='public' order by tablename
-- 87.139s 触发器实现
-- 32.532s 规则实现
insert into mastermeasure select generate_series(1,1000000),now(),1,1;
insert into mastermeasure select generate_series(1,1000000),now() + interval '1 month',2,2;
insert into mastermeasure select generate_series(1,1000000),now() + interval '2 month',3,3;
insert into mastermeasure select generate_series(1,1000000),now() + interval '3 month',4,4;
-- 41.277s
insert into measurement select generate_series(1,1000000),now(),1,1;
insert into measurement select generate_series(1,1000000),now() + interval '1 month',2,2;
insert into measurement select generate_series(1,1000000),now() + interval '2 month',3,3;
insert into measurement select generate_series(1,1000000),now() + interval '3 month',4,4;
select * from measurement where logdate = '2018-02-21'
-- on off partition
SET constraint_exclusion = partition;
EXPLAIN select * from mastermeasure where logdate = '2017-11-22'
truncate table users;
explain select count(0) from crm_order where id < 10000000
-- 测试多层继承关系
CREATE TABLE users();
CREATE TABLE users3 (firstname text, lastname text, id serial primary key);
alter table users3 add CONSTRAINT c_users
check (firstname='sun');
insert into users3 select 'sun','testuser3', generate_series(51,60);
alter table users3 inherit users;
create table users1_1(
check (lastname='testuser1')
) inherits (users1)
create rule users1_1_insert as
on insert to users1 where lastname='testuser1'
do instead
insert into users1_1 VALUES (NEW.*)
insert into users select 'wang','testuser1',generate_series(41,50)
explain select * from users a,permitions b where a.firstname='wang'
and a.id = b.userid and ptype='read'
select * from only users1;
explain select count(0) from users where firstname='sun'
官网doc: https://www.postgresql.org/docs/current/static/plpgsql.html select * from pg_tables where schemaname='public' order by tablename
-- 87.139s 触发器实现
-- 32.532s 规则实现
insert into mastermeasure select generate_series(1,1000000),now(),1,1;
insert into mastermeasure select generate_series(1,1000000),now() + interval '1 month',2,2;
insert into mastermeasure select generate_series(1,1000000),now() + interval '2 month',3,3;
insert into mastermeasure select generate_series(1,1000000),now() + interval '3 month',4,4;
-- 41.277s
insert into measurement select generate_series(1,1000000),now(),1,1;
insert into measurement select generate_series(1,1000000),now() + interval '1 month',2,2;
insert into measurement select generate_series(1,1000000),now() + interval '2 month',3,3;
insert into measurement select generate_series(1,1000000),now() + interval '3 month',4,4;
select * from measurement where logdate = '2018-02-21'
-- on off partition
SET constraint_exclusion = partition;
EXPLAIN select * from mastermeasure where logdate = '2017-11-22'
truncate table users;
explain select count(0) from crm_order where id < 10000000
-- 测试多层继承关系
CREATE TABLE users();
CREATE TABLE users3 (firstname text, lastname text, id serial primary key);
alter table users3 add CONSTRAINT c_users
check (firstname='sun');
insert into users3 select 'sun','testuser3', generate_series(51,60);
alter table users3 inherit users;
create table users1_1(
check (lastname='testuser1')
) inherits (users1)
create rule users1_1_insert as
on insert to users1 where lastname='testuser1'
do instead
insert into users1_1 VALUES (NEW.*)
insert into users select 'wang','testuser1',generate_series(41,50)
explain select * from users a,permitions b where a.firstname='wang'
and a.id = b.userid and ptype='read'
select * from only users1;
explain select count(0) from users where firstname='sun'
相关文章推荐
- pgsql使用积累系列_表分区(继承)
- pgsql使用积累系列_常用sql
- Framebuffer原理、使用、测试系列文章
- Framebuffer原理、使用、测试系列文章
- 使用Selenium测试Flex系列(1)
- 转载和积累系列 - Linux Crontab简单使用和管理
- BizTalk开发系列(三十七) 性能监视器在BizTalk性能测试中的使用
- 转载和积累系列 - luci框架-LUA的一个web框架使用
- 转载和积累系列 - java中Keytool的使用总结
- maven系列学习之二:maven初体验-简单使用maven进行测试,编译、打包和运行
- 【金阳光测试】--深入Monkey工具和使用--Android系列(3)2014年八月八号
- 转载和积累系列 - luci框架-LUA的一个web框架使用
- ADF_Starting系列9_使用EJB/JPA/JSF通过ADF构建Web应用程序之测试J2EE Container
- 淘宝API开发系列---淘宝API的测试及使用
- 接口测试从零开始系列_mock技术使用
- 使用SIP 电话软件Express Talk,测试CISCO SPA系列IP电话
- linux嵌入式编程高手历程系列9-使用tcl-expect进行自动化测试
- Framebuffer原理、使用、测试系列文章
- Google C++测试框架系列入门篇:第一章 介绍:为什么使用GTest?
- Framebuffer原理、使用、测试系列文章