#!/usr/bin/perl use DBI; use Benchmark; $|=1; $dbh = DBI->connect("dbi:Pg:dbname=search", "", "") or die "cannot connect to database!"; $select_refs = $dbh->prepare("SELECT * FROM ref WHERE word_id = ?") or die "cannot prepare 1"; $select_doc = $dbh->prepare("SELECT * FROM doc WHERE doc_id = ?") or die "cannot prepare 2"; $words = $dbh->selectall_arrayref("SELECT * FROM word") or die "cannot get list of words"; for (@$words) { $word_id{$_->[0]} = $_->[1]; } $n_docs = $dbh->selectall_arrayref("SELECT COUNT(*) FROM doc")->[0]->[0]; print "$n_docs\n"; timethis(100, q{ $i = int rand $n_docs; #@$words print $i, ':'; $select_doc->execute($i); $doc = $select_doc->fetchall_arrayref; # $select_refs->execute($i); # $refs = $select_refs->fetchall_arrayref; print $doc->[0]->[1], ' '; });