Perl_Love has asked for the wisdom of the Perl Monks concerning the following question:
Hello everybody, when I use BerkelyDB, I find that I use the db_del function. But the DB file has not become small , maybe it just made a mark. Is there any method can make DB files smaller? what method ?
By the way, when run after the production , there will be three file, __db.001, __db.002, __db.003, what is the action of three files ?
thanks a lot!
#!/usr/bin/perl -w use warnings; use BerkeleyDB; $|=1; my $env=new BerkeleyDB::Env -Home=>'/home/y6cme/perl5', -Flags=>DB_CREATE|DB_INIT_MPOOL || die; my %hash; my $db=tie(%hash,"BerkeleyDB::Btree", -Filename=>"test.db", -Flags=>DB_CREATE, -Env=>$env) || die; for(1..10000){ $hash{$_}=$_; } untie $db; undef %hash; my $db2=tie(%hash2,"BerkeleyDB::Btree", -Filename=>"test.db", -Flags=>DB_CREATE, -Env=>$env) || die; for(1..10000){ $db2->db_del($_); } untie $db2; undef %hash2;
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: db_del of BerkeleyDB
by Corion (Patriarch) on Jun 10, 2016 at 06:35 UTC | |
Re: db_del of BerkeleyDB
by Anonymous Monk on Jun 10, 2016 at 03:27 UTC |
Back to
Seekers of Perl Wisdom