a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > Perl > 正文

使用perl實現拆分數據表(mysql)并遷移數據實例

2020-06-04 20:32:29
字體:
來源:轉載
供稿:網友

隨著業務量的增長,可能需要對表進行拆分來提高性能。

下面這個例子是將www.jb51.net的users表拆分成10個表ttlsa_user_0-ttlsa_user_9。

拆分遷移數據程序如下所示:

1.創建ttlsa_user_0-ttlsa_user_9表

代碼如下:
#!/usr/bin/perl
###################################
### author: www.jb51.net ###
### QQ群:232608061  ###
### E-mail:service@jb51.net ###
###################################

use DBI;

my $driver=”DBI:mysql”;
my $from_database=”ttlsa”;
my $from_user=”root”;
my $from_password=”123456″;
my $from_host=”localhost”;

$from_dbh=DBI->connect (“$driver:$from_database:$from_host;user=$from_user;password=$from_password”) or die “cannot connect: “. DBI->errstr;

for (0..9) {
$sql=”CREATE TABLE `ttlsa_user_$_` (
`uid` int(10) NOT NULL AUTO_INCREMENT,
`email` varchar(50) NOT NULL,
`passwd` varchar(40) NOT NULL,
`user_name` varchar(20) NOT NULL,
PRIMARY KEY (`uid`),
UNIQUE KEY `email` (`email`),
UNIQUE KEY `user_name` (`user_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT”;
$from_dbh->do($sql);
}
$from_dbh->disconnect();

2.遷移數據

代碼如下:
#!/usr/bin/perl
###################################
### author: www.jb51.net ###
### QQ群:232608061  ###
### E-mail:service@jb51.net ###
###################################

use DBI;

my $driver=”DBI:mysql”;
my $from_database=”ttlsa”;
my $from_user=”root”;
my $from_password=”123456″;
my $from_host=”localhost”;

$from_dbh=DBI->connect (“$driver:$from_database:$from_host;user=$from_user;password=$from_password”) or die “cannot connect: “. DBI->errstr;
$from_dbh->do(“set names ‘utf8′”);
$from_dbh->do(“set session autocommit=0″);
$from_dbh->do(“set session unique_checks=0″);

$max=600000;
$step=10000;
for ($i=1;$i $step_i=$i+$step;
$sql=”select * from ttlsa_users where user_id>=$i and user_id $sth=$from_dbh->prepare($sql);
$sth->execute;
@value=();
while ($row=$sth->fetchrow_hashref()) {
$uid=$row->{uid};
$email=$row->{email};
$passwd=$row->{passwd};
$user_name=$row->{user_name};
$key=substr($user_id,-1);
$value[$key].=”(‘$uid','$email','$passwd','$user_name'),”;

}
for (0..9) {
chop($value[$_]);
$sql=”insert into ttlsa_user_$_ (`uid`,`email`,`passwd`,`user_name`) values” . $value[$_];
$from_dbh->do(“$sql”);
}
}
$from_dbh->do(“set session autocommit=1″);
$from_dbh->do(“set session unique_checks=1″);
$sth->finish();
$from_dbh->disconnect();

3.附錄

如果沒有那么多數據量,可以隨意插入一些數據進行測試。下面提供一個插入數據的腳本。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 伊人在线 | 91精品综合久久久久久五月天 | 久草网站 | 日本在线色 | 久久久久久电影 | 在线播放一区二区三区 | 亚洲高清在线观看 | 天天摸夜夜操 | 久久精品一区二区 | 91麻豆精品国产91久久久更新时间 | 国产精品国产成人国产三级 | 中文字幕黄色 | 岛国免费av | 午夜精品久久久久久久久久久久久 | 精品二三区| 成人福利在线 | 91.com在线观看 | 99久久精品一区二区 | 黄p网站在线观看 | 国产欧美精品区一区二区三区 | 亚洲自拍偷拍第一页 | 久草中文在线观看 | 黄色毛片视频网站 | 伊人激情av一区二区三区 | 一级视频在线免费观看 | 国产一区二区三区四 | 欧美成人免费在线视频 | 久久久一区二区三区捆绑sm调教 | 久久精品女人 | 久草在线在线精品观看 | 久久国产精品无码网站 | av一区二区在线观看 | 国产精品久久久久久久久 | 污网站在线免费看 | 久久午夜影院 | 久久国产精品一区 | 色爱区综合五月激情 | 久久精品网 | 69久久99精品久久久久婷婷 | 久久精品欧美一区二区三区麻豆 | 天天操夜夜干 |