一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語(yǔ)言編程技術(shù)及教程分享平臺(tái)!
分類(lèi)導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - perl - 使用perl實(shí)現(xiàn)拆分?jǐn)?shù)據(jù)表(mysql)并遷移數(shù)據(jù)實(shí)例

使用perl實(shí)現(xiàn)拆分?jǐn)?shù)據(jù)表(mysql)并遷移數(shù)據(jù)實(shí)例

2020-06-20 11:00腳本之家 perl

這篇文章主要介紹了使用perl實(shí)現(xiàn)拆分?jǐn)?shù)據(jù)表(mysql)并遷移數(shù)據(jù)實(shí)例,本文提供了3個(gè)腳本,分別用于拆分?jǐn)?shù)據(jù)表、遷移數(shù)據(jù)、插入測(cè)試數(shù)據(jù),需要的朋友可以參考下

隨著業(yè)務(wù)量的增長(zhǎng),可能需要對(duì)表進(jìn)行拆分來(lái)提高性能。

下面這個(gè)例子是將www.tuohang.net的users表拆分成10個(gè)表ttlsa_user_0-ttlsa_user_9。

拆分遷移數(shù)據(jù)程序如下所示:

1.創(chuàng)建ttlsa_user_0-ttlsa_user_9表

 

復(fù)制代碼 代碼如下:


#!/usr/bin/perl
###################################
### author: www.tuohang.net ###
### QQ群:232608061  ###
### E-mail:[email protected] ###
###################################

 

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.遷移數(shù)據(jù)

 

復(fù)制代碼 代碼如下:


#!/usr/bin/perl
###################################
### author: www.tuohang.net ###
### QQ群:232608061  ###
### E-mail:[email protected] ###
###################################

 

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.附錄

如果沒(méi)有那么多數(shù)據(jù)量,可以隨意插入一些數(shù)據(jù)進(jìn)行測(cè)試。下面提供一個(gè)插入數(shù)據(jù)的腳本。

 

復(fù)制代碼 代碼如下:


#!/usr/bin/perl
###################################
### author: www.tuohang.net ###
### QQ群:232608061  ###
### E-mail:[email protected] ###
###################################

 

use DBI;
use Digest::SHA qw(sha1_hex);

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″);

for (1..100000) {
$insert_sql=$from_dbh->prepare(“insert into ttlsa_users (email,passwd,user_name) values (?,?,?)”);
$email=”auto-gre-$_\@tuohang.net”;
$data=”auto-gre-$_”;
$passwd=sha1_hex($data);
$user_name=”auto-gre-$_”;
$insert_sql->execute($email,$passwd,$user_name);
}

$from_dbh->do(“set session autocommit=1″);
$from_dbh->do(“set session unique_checks=1″);
$insert_sql->finish();
$from_dbh->disconnect();

 

延伸 · 閱讀

精彩推薦
  • perlperl pop push shift unshift實(shí)例介紹

    perl pop push shift unshift實(shí)例介紹

    perl的pop跟push操作數(shù)組的最右邊,shift跟unshift操作數(shù)組的最左邊 ...

    腳本之家4612020-06-10
  • perlPerl使用nginx FastCGI環(huán)境做WEB開(kāi)發(fā)實(shí)例

    Perl使用nginx FastCGI環(huán)境做WEB開(kāi)發(fā)實(shí)例

    這篇文章主要介紹了Perl使用nginx FastCGI環(huán)境做WEB開(kāi)發(fā)實(shí)例,實(shí)現(xiàn)了路由系統(tǒng)和模板系統(tǒng),需要的朋友可以參考下...

    Perl教程網(wǎng)2412020-06-18
  • perlperl常見(jiàn)問(wèn)題集合之二

    perl常見(jiàn)問(wèn)題集合之二

    哪些平臺(tái)上有 Perl?要到哪里去找? Perl的標(biāo)準(zhǔn)發(fā)行版(由 perl 發(fā)展小組負(fù)責(zé)維護(hù))僅以原始碼形式發(fā)行。您可在 http: //www.perl.com/CPAN/src/latest.tar.gz處取得。這個(gè)檔...

    腳本之家2102020-05-29
  • perlperl命令行參數(shù)內(nèi)建數(shù)組@ARGV淺析

    perl命令行參數(shù)內(nèi)建數(shù)組@ARGV淺析

    這篇文章主要介紹了perl命令行參數(shù)內(nèi)建數(shù)組@ARGV淺析,本文重點(diǎn)在于講解@ARGV的用法,并通過(guò)實(shí)例來(lái)說(shuō)明,需要的朋友可以參考下 ...

    perl教程網(wǎng)6162020-06-18
  • perlperl use vars pragma使用技巧

    perl use vars pragma使用技巧

    perl 中的vars是perl中的一個(gè)pragma(預(yù)編譯指示符),專(zhuān)門(mén)用來(lái)預(yù)定義全局變量,這些預(yù)定義后的全局變量在qw()列表中,在整個(gè)引用perl文件中皆可使用,即便使...

    perl教程網(wǎng)6812020-06-16
  • perlPerl的經(jīng)典用法分享

    Perl的經(jīng)典用法分享

    Perl的經(jīng)典用法分享,學(xué)習(xí)perl的朋友可以參考下 ...

    腳本之家6562020-06-06
  • perlPerl List::Util模塊使用實(shí)例

    Perl List::Util模塊使用實(shí)例

    這篇文章主要介紹了Perl List::Util模塊使用實(shí)例,本文給出掃描符合條件的某個(gè)列表并取出第一個(gè)符合條件的、求1到1000之間的和 、求一組數(shù)字的最大值與最小...

    腳本之家4712020-06-22
  • perlPerl從文件中讀取字符串的兩種實(shí)現(xiàn)方法

    Perl從文件中讀取字符串的兩種實(shí)現(xiàn)方法

    有時(shí)候我們需要從文件中讀取字符串,這里簡(jiǎn)單介紹下, 需要的朋友可以參考下 ...

    腳本之家6252020-06-08
主站蜘蛛池模板: 超兴奋朋友的中文字幕下 | 日本在线亚州精品视频在线 | 欧美乱妇高清无乱码视频在线 | 天堂网在线.www天堂在线资源 | 太大了轻点阿受不了小说h 四色6677最新永久网站 | 国产清纯91天堂在线观看 | 日韩毛片免费 | fuqer日本 | 乌克兰粉嫩摘花第一次 | 成人免费视频一区二区 | 热热99| 国产在线步兵一区二区三区 | 国产欧美一区二区三区免费看 | 女人被爽到呻吟娇喘的视频动态图 | 99re8在这里只有精品23 | 午夜视频在线网站 | 欧美肥bb| 国内精品在线观看视频 | 四虎视屏 | 无码一区二区三区视频 | 日本一片免费观看高清完整 | 国产一区二区不卡视频 | 久久精品国产亚洲AV蜜臀 | 农村妇女野外牲交一级毛片 | 99影视在线视频免费观看 | 免费国产高清精品一区在线 | 亚洲精品在看在线观看 | 床戏小说 | 久久伊人电影 | 日本妻子迷妹网 | 欧美香蕉视频 | 亚洲日韩男人网在线 | 免费国产影视观看网站入口 | 果冻传媒天美传媒在线小视频播放 | 亚洲欧美成人综合 | 久久伊人精品青青草原2021 | 日韩精品一区二区三区中文版 | 我的漂亮朋友在线观看全集免费 | 精品无码一区二区三区中文字幕 | 欧美人与禽交片在线播放 | 369手机看片 |