Hatena::ブログ(Diary)

Fedora 19(はてな) このページをアンテナに追加 RSSフィード


Search in WWW Search in hatena/fedora9/

2012-04-22

2012-04-21

2万件insert

参考

$ sudo yum install perl-CPAN

$ sudo cpan YAML DBD::mysql

$ sudo mysql -u root

mysql> set password for root@localhost=password('rootパスワード');

mysql> create database test;)

mysql> create table test(num int, name varchar(50));



# DBI モジュールの読みこみ
use DBI;
# データソース
$d = 'DBI:mysql:test';
# ユーザ名
$u = 'root';
# パスワード
$p = 'password';

# データベースへ接続
$dbh = DBI->connect($d, $u, $p);

# データベースの文字コードを設定を忘れずに
# これを忘れるとTEXT型のデータが文字化けする。
my $sth = $dbh->prepare("set character set utf8");
$sth->execute; 

# SQL文を用意

#####################################
my $i = 1;

my $sql = "insert into test (num, name) values (" . $i . ",'テスト')";

for($i=2; $i<=10000; $i++)
{
	#my $sql = "insert into test (num, name) values (" . $i . ",'テスト')";

	$sql = $sql .  ",(" . $i . ",'テスト')";

	print $i . "\n";
}

$sth = $dbh->prepare($sql);

# SQLを実行
$sth->execute;

#####################################
my $i = 10001;

my $sql = "insert into test (num, name) values (" . $i . ",'テスト')";

for($i=10002; $i<=20000; $i++)
{
	#my $sql = "insert into test (num, name) values (" . $i . ",'テスト')";

	$sql = $sql .  ",(" . $i . ",'テスト')";

	print $i . "\n";
}

$sth = $dbh->prepare($sql);

# SQLを実行
$sth->execute;

# ステートメントハンドルオブジェクトを閉じる
$sth->finish;
# データベースハンドルオブジェクトを閉じる
$dbh->disconnect;

password は設定したパスワードに変更。

$ time perl insert.pl

2.662秒。

Momonga7 1.616秒。


パフォーマンス比較

2012-03-14

2012-02-26

Catalyst

f:id:fedora9:20120425000917p:image:w360:left

$ sudo yum install "perl-Catalyst*"

$ catalyst.pl MyApp

$ cd MyApp

$ script/myapp_server.pl -r


参考

-

-

dotCloud で Mojolicious hello world

$ mkdir mojo

$ cd mojo

$ gedit dotcloud.yml

www:
  type: perl

$ gedit Makefile.PL

PREREQ_PM => {'Mojolicious' => '1.21'}

$ gedit app.psgi

$ENV{MOJO_MODE} = 'production';
require 'myapp.pl';

$ gedit myapp.pl

#!/usr/bin/env perl
use Mojolicious::Lite;

get '/' => sub {
  shift->render_text('Hello Mojo!');
};

app->start;

$ dotcloud create mojo

$ dotcloud push mojo


参考


Mojolicious

dotCloud で PSGI/Plack hello world

$ mkdir psgi

$ cd psgi

$ gedit dotcloud.yml

www:
  type: perl
  approot: helloperl

$ mkdir helloperl

$ cd helloperl

$ gedit Makefile.PL

PREREQ_PM => {
    'Test::More' => 0,
    'YAML'       => 0,
    'Dancer'     => 1.3030,
    'Plack'      => 0.9974,
},

$ gedit app.psgi

my $app = sub {
    my $env = shift;
    return [
        200,
        [ 'Content-Type' => 'text/plain' ],
        [ "Hello World" ],
    ];
};

$ cd ..

$ dotcloud create psgi

$ dotcloud push psgi


参考


PSGI/Plack

PSGI/Plack でHello World

hello.psgi

my $app = sub {
    my $env = shift;
    return [
        200,
        [ 'Content-Type' => 'text/plain' ],
        [ "Hello World" ],
    ];
};

$ sudo yum install perl-Plack

$ plackup hello.psgi


参考


PSGI/Plack

2008-09-15

link

Perler な Blog を列挙祭り - antipop