0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
#sub load_midi_positions_random {
##
## Вот понапишут такого кода, а потом системные администраторы виноваты что сервер тормозит ;-) ....
## У Вас есть враги ? Подарите им этот уникальный код !
##.
#
# my $dbh = get_pg_connect();
# my $sql = "SELECT count(id) FROM midi_data where name<>'Unsorted'";
# my $sth = $dbh->prepare($sql) or die $DBI::errstr;
# $sth->execute or die $DBI::errstr;
# my $i=$sth->fetchrow();
# $sth->finish or die $DBI::errstr;
#....
#my $PIC_COUNT=$i;
#my $pic1 = int (rand($i));
#my $pic2 = int (rand($i));
#my $count=0;
# while ($pic1 == $pic2 && $count < 20){
# $pic2 = int (rand($PIC_COUNT));
# $count++;
# }
# my $pic3 = int (rand($PIC_COUNT));
# $count = 0;
# while (($pic1 == $pic3 || $pic2 == $pic3 || $pic2 == $pic1) && $count < 20){
# $pic3 = int (rand($PIC_COUNT));
# $count++;
# }
# my $pic4 = int (rand($PIC_COUNT));
# $count = 0;
# while (($pic1 == $pic2 || $pic1 == $pic3 || $pic1 == $pic4 || $pic2 == $pic3 || $pic2 == $pic4 || $pic3 == $pic4) && $count < 20){
# $pic4 = int (rand($PIC_COUNT));
# $count++;
# }
# my $pic5 = int (rand($PIC_COUNT));
# $count = 0;
# while (($pic1 == $pic2 || $pic1 == $pic3 || $pic1 == $pic4 || $pic2 == $pic3 || $pic2 == $pic4 || $pic3 == $pic4 || $pic1 == $pic5 || $pic2 == $pic5
# || $pic3 == $pic5 || $pic4 == $pic5) && $count < 20){
# $pic5 = int (rand($PIC_COUNT));
# $count++;
# }
# my $pic6 = int (rand($PIC_COUNT));
# $count = 0;
# while (($pic1 == $pic2 || $pic1 == $pic3 || $pic1 == $pic4 || $pic2 == $pic3 || $pic2 == $pic4 || $pic3 == $pic4 || $pic1 == $pic5 || $pic2 == $pic5
# || $pic3 == $pic5 || $pic4 == $pic5
# || $pic1 == $pic6 || $pic2 == $pic6 || $pic3 == $pic6 || $pic4 == $pic6 || $pic5 == $pic6 ) && $count < 20){
# $pic6 = int (rand($PIC_COUNT));
# $count++;
# }
# my $pic7 = int (rand($PIC_COUNT));
# $count = 0;
# while (($pic1 == $pic2 || $pic1 == $pic3 || $pic1 == $pic4 || $pic2 == $pic3 || $pic2 == $pic4 || $pic3 == $pic4 || $pic1 == $pic5 || $pic2 == $pic5
# || $pic3 == $pic5 || $pic4 == $pic5
# || $pic1 == $pic6 || $pic2 == $pic6 || $pic3 == $pic6 || $pic4 == $pic6 || $pic5 == $pic6..
# || $pic1 == $pic7 || $pic2 == $pic7 || $pic3 == $pic7 || $pic4 == $pic7 || $pic5 == $pic7 || $pic6 == $pic7) && $count < 20
#
# ){
# $pic6 = int (rand($PIC_COUNT));
# $count++;
# }
#
# $sql = "SELECT * FROM midi_data where name<>'Unsorted' order by id";
# $sth = $dbh->prepare($sql) or die $DBI::errstr;
# $sth->execute or die $DBI::errstr;
# my @result;
# while(my @row = $sth->fetchrow){
# my $tmp = split_midi_position(@row);
# $tmp->{POSITION_NAME}=~ s/(\d{4})//;
# $tmp->{POSITION_YEAR}=$1;
# push @result, $tmp;....
# }
#my @new=();
#$new[0]=$result[$pic1];
#$new[1]=$result[$pic2];
#$new[2]=$result[$pic3];
#$new[3]=$result[$pic4];
#$new[4]=$result[$pic5];
#$new[5]=$result[$pic6];
#$new[6]=$result[$pic7];
#$sth->finish or die $DBI::errstr;
# return @new;
#}
###
Таблица midi_data > 15000 записей.
Этот код вызывался несколько раз в секунду...
Запостил:
guest ,
10.06.2009 (Updated 24.03.2018 )
Не знаю перл.. в чем говнокодость, в том что скуэли постоянно вызываються?
Ну и ещё несовпадение записей обеспечивается зачётно