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.热值所在的表可以放在更快的硬件平台上。
需注意的是:
分表只对大数据量有好处,如果数据量不大而进行分表,只会给应用程序带来麻烦。
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';
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。