- my $sql = "select item from $field where upper(item)=upper(?)";
- my $sth = $self->{dbh}->prepare($sql) || die $self->{dbh}->errstr();
- $sth->execute($index_data) || die "sql: $sql; ".$self->{dbh}->errstr();
- if (! $sth->fetchrow_hashref) {
- my $sql = "insert into $field (item,ident,count) values (?,?,?)";
- my $sth = $self->{dbh}->prepare($sql) || die $self->{dbh}->errstr();
- $sth->execute($index_data,$ident,1) || die "sql: $sql; ".$self->{dbh}->errstr();
+ $sth_cache{$field."select"}->execute($index_data) || die "cache: $field select; ".$self->{dbh}->errstr();
+ if (! $sth_cache{$field."select"}->fetchrow_hashref) {
+ $index_data = substr($index_data,0,255);
+ $sth_cache{$field."insert"}->execute($index_data,$ident,1) || die "cache: $field insert; ".$self->{dbh}->errstr();