⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test-big-tables

📁 开启mysql的远程连接的方法 mysql-noinstall-5.1.6-alpha-win32.zip
💻
字号:
#!/usr/bin/perl# Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB## This library is free software; you can redistribute it and/or# modify it under the terms of the GNU Library General Public# License as published by the Free Software Foundation; either# version 2 of the License, or (at your option) any later version.## This library is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU# Library General Public License for more details.## You should have received a copy of the GNU Library General Public# License along with this library; if not, write to the Free# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,# MA 02111-1307, USA## Test of extreme tables.###################### Standard benchmark inits ##############################use Cwd;use DBI;use Benchmark;$opt_loop_count=1000; # Change this to make test harder/easier$opt_field_count=1000;$pwd = cwd(); $pwd = "." if ($pwd eq '');require "$pwd/bench-init.pl" || die "Can't read Configuration file: $!\n";$opt_field_count=min($opt_field_count,$limits->{'max_columns'},		     ($limits->{'query_size'}-30)/14);$opt_loop_count*=10 if ($opt_field_count<100);	# mSQL has so few fields...if ($opt_small_test){  $opt_loop_count/=10;  $opt_field_count/=10;}print "Testing of some unusual tables\n";print "All tests are done $opt_loop_count times with $opt_field_count fields\n\n";########  Testing many fields####$dbh = $server->connect();print "Testing table with $opt_field_count fields\n";$sth = $dbh->do("drop table bench1" . $server->{'drop_attr'});my @fields=();my @index=();my $fields="i1";push(@fields,"$fields int");$values= "1," x ($opt_field_count-1) . "1";for ($i=2 ; $i <= $opt_field_count ; $i++){  push(@fields,"i${i} int");  $fields.=",i${i}";}$start_time=new Benchmark;do_many($dbh,$server->create("bench1",\@fields,\@index));$sth = $dbh->do("insert into bench1 values ($values)") or die $DBI::errstr;if ($opt_fast && defined($server->{vacuum})){  $server->vacuum(0,\$dbh);}test_query("Testing select * from table with 1 record",	   "Time to select_many_fields",	   "select * from bench1",	   $dbh,$opt_loop_count);if ($limits->{'working_all_fields'}){  test_query("Testing select all_fields from table with 1 record",	     "Time to select_many_fields",	     "select $fields from bench1",	     $dbh,$opt_loop_count);}test_query("Testing insert VALUES()",	   "Time to insert_many_fields",	   "insert into bench1 values($values)",	   $dbh,$opt_loop_count);if ($opt_fast && defined($server->{vacuum})){  $server->vacuum(0,\$dbh);}test_command("Testing insert (all_fields) VALUES()",	     "Time to insert_many_fields",	     "insert into bench1 ($fields) values($values)",	     $dbh,$opt_loop_count);$sth = $dbh->do("drop table bench1" . $server->{'drop_attr'}) or die $DBI::errstr;if ($opt_fast && defined($server->{vacuum})){  $server->vacuum(0,\$dbh);}################################ END ########################################### End of the test...Finally print time used to execute the#### whole test.$dbh->disconnect;end_benchmark($start_time);############################ HELP FUNCTIONS ##############################sub test_query{  my($test_text,$result_text,$query,$dbh,$count)=@_;  my($i,$loop_time,$end_time, $using_transactions);  print $test_text . "\n";  $loop_time=new Benchmark;  $using_transactions=0;  if ($opt_fast && server->{transactions} && $query=~ /^insert /i)  {    $using_transactions=1;    $dbh->{AutoCommit} = 0;    print "Transactions enabled\n" if ($opt_debug);  }  for ($i=0 ; $i < $count ; $i++)  {    defined(fetch_all_rows($dbh,$query)) or die $DBI::errstr;  }  if ($using_transactions)  {    $dbh->commit;    $dbh->{AutoCommit} = 1;  }  $end_time=new Benchmark;  print $result_text . "($count): " .  timestr(timediff($end_time, $loop_time),"all") . "\n\n";}sub test_command{  my($test_text,$result_text,$query,$dbh,$count)=@_;  my($i,$loop_time,$end_time);  print $test_text . "\n";  $loop_time=new Benchmark;  for ($i=0 ; $i < $count ; $i++)  {    $dbh->do($query) or die $DBI::errstr;  }  $end_time=new Benchmark;  print $result_text . "($count): " .  timestr(timediff($end_time, $loop_time),"all") . "\n\n";}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -