这篇文章主要介绍了使用perl实现拆分数据表(mysql)并迁移数据实例,本文提供了3个脚本,分别用于拆分数据表、迁移数据、插入测试数据,需要的朋友可以参考下
随着业务量的增长,可能需要对表进行拆分来提高性能。
下面这个例子是将www.0133.cn的users表拆分成10个表ttlsa_user_0-ttlsa_user_9。
拆分迁移数据程序如下所示:
1.创建ttlsa_user_0-ttlsa_user_9表
#!/usr/bin/perl
###################################
### author: www.0133.cn ###
### QQ群:232608061 ###
### E-mail:service@0133.cn ###
###################################
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();
以上就是使用perl实现拆分数据表(mysql)并迁移数据实例的详细内容,更多请关注0133技术站其它相关文章!