PostgreSql查看执行计划及分表

本文深入探讨了SQL查询执行计划分析方法,并详细解释了分表技术的应用场景及优势,包括操作聚焦、表容量扩展和热数据优化。同时,介绍了PostgreSQL中函数的编写实践,为数据库性能提升提供实用指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.查询执行计划,explain [analyze,verbose] statement即可

例如:explain select * from tb_user;

通过这条语句可以看到该Sql的执行计划,从而对影响Sql性能的瓶颈予以分析。

2.分表

主表:

CREATE TABLE tb_qq
(
  id integer NOT NULL,
  username character varying(50),
  CONSTRAINT tb_qq_pkey PRIMARY KEY (id)
)

子表:

CREATE TABLE tb_qq_0_100
(
    CHECK(id>=0 AND id<=100)
)INHERITS(tb_qq);
CREATE TABLE tb_qq_101_200
(
    CHECK(id>=101 AND id<=200)
)INHERITS(tb_qq);

分表的好处在于:

1.操作可以固定在某个表进行,如只对id在101-200范围内的用户操作,那么只需处理tb_qq_101_200即可。

2.扩大表的容量,多个子表存储的内容大于单个主表的。

3.热值所在的表可以放在更快的硬件平台上。

需注意的是:

分表只对大数据量有好处,如果数据量不大而进行分表,只会给应用程序带来麻烦。

 

postgresql函数的写法:

CREATE FUNCTION user_insert() RETURNS void AS $body$
DECLARE
	i integer := 1;
BEGIN
	for i in 0..100 loop
		insert into tb_qq values(i,'test');
	end loop;
END;
$body$
	LANGUAGE 'plpgsql';


 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值