diff options
Diffstat (limited to 'sql-bench')
-rwxr-xr-x | sql-bench/test-insert.sh | 38 |
1 files changed, 36 insertions, 2 deletions
diff --git a/sql-bench/test-insert.sh b/sql-bench/test-insert.sh index 427a42aea35..93f6745742e 100755 --- a/sql-bench/test-insert.sh +++ b/sql-bench/test-insert.sh @@ -353,7 +353,8 @@ check_or_range("id3","select_range_key2"); # Check reading on direct key on id and id3 check_select_key("id","select_key_prefix"); -check_select_key("id3","select_key_key2"); +check_select_key2("id","id2","select_key"); +check_select_key("id3","select_key2"); #### #### A lot of simple selects on ranges @@ -921,7 +922,7 @@ if (!$opt_skip_delete) } $end_time=new Benchmark; - print "Time for delete_big ($count): " . + print "Time for delete_all ($count): " . timestr(timediff($end_time, $loop_time),"all") . "\n\n"; if ($opt_lock_tables) @@ -1113,6 +1114,7 @@ $count=0; for ($i=0 ; $i < 128 ; $i++) { + $count++; $dbh->do("delete from bench1 where field1 = $i") or die $DBI::errstr; } @@ -1258,6 +1260,38 @@ sub check_select_key timestr(timediff($end_time, $loop_time),"all") . "\n"; } +# Same as above, but select on 2 columns + +sub check_select_key2 +{ + my ($column,$column2,$check)= @_; + my ($loop_time,$end_time,$i,$tmp_var,$tmp,$count,$row_count,$estimated); + + $estimated=0; + $loop_time=new Benchmark; + $count=0; + for ($i=1 ; $i <= $opt_loop_count; $i++) + { + $count+=2; + $tmpvar^= ((($tmpvar + 63) + $i)*3 % $opt_loop_count); + $tmp=$tmpvar % ($total_rows); + fetch_all_rows($dbh,"select * from bench1 where $column=$tmp and $column2=$tmp") + or die $DBI::errstr; + $tmp+=$total_rows; + defined($row_count=fetch_all_rows($dbh,"select * from bench1 where $column=$tmp and $column2=$tmp")) or die $DBI::errstr; + die "Found $row_count rows on impossible id: $tmp\n" if ($row_count); + $end_time=new Benchmark; + last if ($estimated=predict_query_time($loop_time,$end_time,\$count,$i, + $opt_loop_count)); + } + if ($estimated) + { print "Estimated time"; } + else + { print "Time"; } + print " for $check ($count): " . + timestr(timediff($end_time, $loop_time),"all") . "\n"; +} + # # Search using some very simple queries # |