use strict; use warnings; use DBI; use Benchmark; my $hodbc = DBI->connect('dbi:ODBC:DSN=OracleODBC-11g;SID=devel','xxx','xxx'); my $horacle = DBI->connect('dbi:Oracle:host=oracle;sid=devel','xxx','xxx'); eval {$hodbc->do(q/drop table benchtest/)}; $hodbc->do(q/create table benchtest (a integer, b varchar(100))/); timethese(10, {'oracleinsert' => sub {insert($horacle)}, 'odbcinsert' => sub { insert($hodbc)}}); timethese(10, {'oracleselect' => sub {xselect($horacle)}, 'odbcselect' => sub { xselect($hodbc)}}); sub insert { my $h = shift; my $s = $h->prepare(q/insert into benchtest values(?,?)/); for (1..5000) { $s->execute($_, 'the quick brown fox jumps over the lazy dog'); } } sub xselect { my $h = shift; my $r = $h->selectall_arrayref(q/select * from benchtest/); }