向mysql中插入千万行数据测试脚本
[
2008/10/31 10:57 | by askwan ]
2008/10/31 10:57 | by askwan ]
#!/usr/bin/perl -w
use DBD::mysql
$user="askwan";
$password="123456";
$hostname="192.168.0.251";
$database="test";
$dsn = "DBI:mysql:database=$database;host=$hostname";
$dbh=DBI->connect($dsn,$user,$password);
eval { $dbh->do("DROP TABLE T_askwan") };
print "Dropping T_askwan failed: $@\n" if $@;
$dbh->do("CREATE TABLE T_askwan (id INTEGER, name VARCHAR(20),email VARCHAR(30))");
for(my $i=1;$i<10000001;$i++){
$dbh->do("INSERT INTO T_askwan VALUES ($i, " . $dbh->quote("$i-Tim") . "," . $dbh->quote("$i-askwan\@yahoo.cn") .")");
if(!($i%1000)){
print "$i rows has insert!\n";
}
}
print "sucessfully insert into 10000000 rows data !\n";
$dbh->disconnect();
use DBD::mysql
$user="askwan";
$password="123456";
$hostname="192.168.0.251";
$database="test";
$dsn = "DBI:mysql:database=$database;host=$hostname";
$dbh=DBI->connect($dsn,$user,$password);
eval { $dbh->do("DROP TABLE T_askwan") };
print "Dropping T_askwan failed: $@\n" if $@;
$dbh->do("CREATE TABLE T_askwan (id INTEGER, name VARCHAR(20),email VARCHAR(30))");
for(my $i=1;$i<10000001;$i++){
$dbh->do("INSERT INTO T_askwan VALUES ($i, " . $dbh->quote("$i-Tim") . "," . $dbh->quote("$i-askwan\@yahoo.cn") .")");
if(!($i%1000)){
print "$i rows has insert!\n";
}
}
print "sucessfully insert into 10000000 rows data !\n";
$dbh->disconnect();
程序每插入1000 Rows 就会向你报告一次,剩下的,你就可以去看看报纸,喝点茶,!@#¥%……&
,总之,干什么都可以
只要是等待 时间总是漫长的
perl 几个常用程序模板
[
2008/10/18 21:32 | by askwan ]
2008/10/18 21:32 | by askwan ]
1.Get form data
2.sendmail
3.Get host name by IP address
if ($ENV{'REQUEST_METHOD'} eq 'POST') {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
} else {
$buffer = $ENV{'QUERY_STRING'};
}
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$FORM{$name} = $value;
}
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
} else {
$buffer = $ENV{'QUERY_STRING'};
}
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$FORM{$name} = $value;
}
2.sendmail
open (MAIL,"|/usr/lib/sendmail");
print MAIL "To: to\@e.mail\n";
print MAIL "From: from\@e.mail\n";
print MAIL "Subject: Subject\n\n";
print MAIL "Body\n";
close MAIL;
print MAIL "To: to\@e.mail\n";
print MAIL "From: from\@e.mail\n";
print MAIL "Subject: Subject\n\n";
print MAIL "Body\n";
close MAIL;
3.Get host name by IP address
$ip = $ENV{'REMOTE_ADDR'};
@digits = split (/\./, $ip);
$address = pack ("C4", @digits);
$host = gethostbyaddr ($address, 2);
@digits = split (/\./, $ip);
$address = pack ("C4", @digits);
$host = gethostbyaddr ($address, 2);
一下子冒出来两个开心网,一个伤心网,这SNS之战争,可真够激烈的……
这些网站都在测试阶段,注册都需要邀请,想要邀请连接的有福了!
www.kaixin001.com

注册邀请连接:
http://www.kaixin001.com/reg/?uid=7159448&usercode=d943390c6ced3bf29632a85eb28651f1_7159448__%E6%99%AE%E9%80%9A%E6%9C%8B%E5%8F%8B
www.kaixin.com

注册邀请连接:
http://reg.kaixin.com/inviteregist.do?i=700008283&appId=&code=7yeVcZXIxj&from=&inviteType=2&ss=80107&logid=260409&buddygroup=%E6%99%AE%E9%80%9A%E6%9C%8B%E5%8F%8B
www.shangxin001.com

这个我还没有邀请连接 有的哥们给我一个吧 嘿嘿
这些网站都在测试阶段,注册都需要邀请,想要邀请连接的有福了!
www.kaixin001.com
注册邀请连接:
http://www.kaixin001.com/reg/?uid=7159448&usercode=d943390c6ced3bf29632a85eb28651f1_7159448__%E6%99%AE%E9%80%9A%E6%9C%8B%E5%8F%8B
www.kaixin.com
注册邀请连接:
http://reg.kaixin.com/inviteregist.do?i=700008283&appId=&code=7yeVcZXIxj&from=&inviteType=2&ss=80107&logid=260409&buddygroup=%E6%99%AE%E9%80%9A%E6%9C%8B%E5%8F%8B
www.shangxin001.com
这个我还没有邀请连接 有的哥们给我一个吧 嘿嘿




