PostgreSQL增删数据命令示例
发布时间:2020-12-13 17:24:40 所属栏目:百科 来源:网络整理
导读:在PostgreSQL中如何用简单的几条SQL语句生成大量的测试数据呢? 此处,我简单的写一个例子,供参考(在Postgresql9.1下面做的): (1)生成一万条测试数据的表foo mydb=# create table foo(id bigint); mydb=# insert into foo select * from generate_serie
在PostgreSQL中如何用简单的几条SQL语句生成大量的测试数据呢?
此处,我简单的写一个例子,供参考(在Postgresql9.1下面做的): (1)生成一万条测试数据的表foo mydb=# create table foo(id bigint); mydb=# insert into foo select * from generate_series(1,10000); mydb=# select count(*) from foo; 当然如果您想知道执行该sql的时间,请在执行上述命令前设置: mydb=# timing on Timing is on. 最后说明一点的是,我的换了慢速的CPU的笔记本T61,插入一千万条记录要一分多钟 ,faint: INSERT 0 10000000 Time: 88694.944 ms 主要参考: [1]PostgreSQL 之 生成测试数据,http://hi.baidu.com/hjzheng/blog/item/c78ad09320eb5297a877a4f6.html, [2]http://www.depesz.com/2010/02/02/waiting-for-9-0-table-and-index-sizes/ (2)查看表foo占用的存储空间 mydb=# select pg_table_size('foo'); pg_table_size --------------- 401408 (1 row) 若查看其中的index的空间或整个relation的空间,请参考:http://www.postgresql.org/docs/9.1/static/functions-admin.html ,或:http://www.postgresql.org/docs/9.1/static/functions-admin.html。 (3)查看整个mydb数据库占用的硬盘空间: mydb=# SELECT oid from pg_database where datname='mydb'; oid ------- 16384 [postgres@localhost ~] 6.3M (4)如果想用delete清空该表,然后真正清空硬盘空间 mydb=# delete from foo; DELETE 10000 然后在命令行: [postgres@localhost ~]$ /home/postgres/db/master/pgsql/bin/vacuumdb mydb 然后再用第3步中的看看,是不是又减少到最初的几兆(我的大约是6M)空间了。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |