我喜欢PostgreSQL的抗崩溃能力,因为我不想花fixing a database分钟.然而,我确信一定有一些东西我可以禁用/修改,这样即使在停电/崩溃之前,插入/更新也能更快地工作.我不担心几条记录,只担心整个数据库.
我正在try 针对大量写入优化PostgreSQL.目前插入100万行需要22分钟,这似乎有点慢.
How can I speed up PostgreSQL writes?个
我研究过的一些选项(如FULL_PAGE_WRITS)似乎也有损坏数据的风险,而这不是我想要的.我不介意丢失数据-我只是不想损坏.
更新1
这是我正在使用的表——这是因为大多数表都包含int和小字符串.这个"示例"表似乎是我所期望的最好的例子.
CREATE TABLE "user"
(
id serial NOT NULL,
username character varying(40),
email character varying(70),
website character varying(100),
created integer,
CONSTRAINT user_pkey PRIMARY KEY (id)
)
WITH ( OIDS=FALSE );
CREATE INDEX id ON "user" USING btree (id);
我有大约10个脚本,每个脚本使用准备好的语句一次发出100000个请求.这是为了模拟我的应用程序将为数据库提供的真实负载.在我的应用程序中,每个页面都有1+个插入.
更新2
我已经在使用异步提交了,因为我已经
同步提交=关闭
在主配置文件中.