タグ

ブックマーク / zigorou.hatenablog.com (9)

  • Re: MySQL最適化のミニtips - 日向夏特殊応援部隊

    元ネタ: http://labs.unoh.net/2007/07/mysqltips.html あまり具体的じゃないので、僕の考えとか。 正しいかどうかは各自の状況だとか実際試すべきなんだけど、参考になれば。 MyISAM、InnoDBなどテーブルタイプ 僕は断然InnoDB派です。 ただ仰るとおり、ログるだけのテーブルとかならMyISAMでもいいとは思うけど。 トランザクションやロック処理などが必要ない場合など、MyISAM形式にも良いところはあるので検討してみる価値はあるかもしれません。 これだけの指摘だとちょっと微妙な気がするです。 MyISAMの使いどころってのは、 ピンで他とリレーションが無い単純追記系のテーブル リレーションがあり、同一トランザクション内での更新系クエリが存在する場合は、トランザクションが期待通りに動かないので、基的にはInnoDBと混在させるべきではない

    Re: MySQL最適化のミニtips - 日向夏特殊応援部隊
  • SQL_CALC_FOUND_ROWS を毎回忘れるのでメモっておく件 - 日向夏特殊応援部隊

    LIMIT 〜 OFFSET なんか使う SELECT 文をページ送りとかしたい場合、全体の件数が必要だったりして、 SELECT * FROM people LIMIT 50 OFFSET 0; SELECT COUNT(guid) FROM people; みたいな感じの事やりたい訳だけど MySQL の場合だと、そういう枠組みがあるんですよね。 MySQL :: MySQL 5.1 リファレンスマニュアル :: 11.10.3 情報関数 - FOUND_ROWS() さっきのクエリはこんな風になる、 SELECT SQL_CALC_FOUND_ROWS * FROM people; SELECT FOUND_ROWS(); これ、使いたいなと思った時に毎回忘れてググってたので備忘録として書いた。

    SQL_CALC_FOUND_ROWS を毎回忘れるのでメモっておく件 - 日向夏特殊応援部隊
  • 生 DBI ユーザーのための DBI Cookbook (2) - 日向夏特殊応援部隊

    さて、まさか続編書くと思わなかったけど、d:id:ZIGOROu:20090731:1249050735 の続きです。 追記 (2009-08-15T00:30:56+09:00) ちなみに、下記で紹介してる方法は一般的には DBI の資産がたくさん合ってモゴモゴな状況をどうするか…みたいな状況の人向けです。 一般的には宜しくないです、と言うことを踏まえてどうぞ。 DBI の拡張をサブクラスを用いて行う Subclassing the DBI にちゃんと書いてあるんですが、DBI はサブクラスを作る為の環境が整っています。 論より証拠、実際の例です。 #!/usr/bin/perl use strict; use warnings; use DBI; use YAML; { package DBIx::Hideki; use base qw(DBI); package DBIx::Hide

    生 DBI ユーザーのための DBI Cookbook (2) - 日向夏特殊応援部隊
    jay777
    jay777 2009/08/15
  • SQL::String - 日向夏特殊応援部隊

    良し悪しはまた別に置いといて。 SQL::String - An object representation of a chunk of SQL - metacpan.org #!/usr/bin/perl use strict; use warnings; use Data::Dump qw(dump); use Perl6::Say; use SQL::String; sub ss { my ($sql, @params) = @_; SQL::String->new($sql, @params); } my ($country_min_population, $city_min_population) = (50000000, 1000000); my $sub_query = ss(q|SELECT Code FROM Country WHERE Population > ?|,

    SQL::String - 日向夏特殊応援部隊
    jay777
    jay777 2009/08/04
  • 生 DBI ユーザーのための DBI Cookbook (1) - Yet Another Hackadelic

    ちょっと前まで DBI で非同期アクセスなエントリが各所で上がっていましたが皆さん如何お過ごしでしょうか? さてと、、、歴史的な経緯とか歴史的な経緯とかで生 DBI 相当を使ってる方もそれなりにいるでしょう。奥さん、大事な事なんで二度言いましたよ! DBI のインターフェースってまぁそんな使いやすい物じゃないんですが、工夫次第で出来る事もあります。 ちなみにサンプルデータベースとして、MySQL Documentation - Example Databases の world データベースを使っています。 fetchall_arrayref でデータ整形 まず以下のように使ってみます。 #!/usr/bin/perl use strict; use warnings; use Data::Dump qw(dump); use DBI; use Perl6::Say; my $dbh =

    生 DBI ユーザーのための DBI Cookbook (1) - Yet Another Hackadelic
    jay777
    jay777 2009/08/02
  • SQL::Interp - 日向夏特殊応援部隊

    SQL::Interp を最近使ったりします。ってのも生 DBI だと IN 文とか placeholder 化するの面倒だし。 と言う訳で下記サンプル。__END__ 以下に結果もつけといた。 #!/usr/bin/perl use strict; use warnings; use Data::Dump qw(dump); use Perl6::Say; use SQL::Interp qw(sql_interp); { my ($sql, @bind) = sql_interp 'INSERT INTO identifier', +{ resource_id => 'xri://=zigorou', canonical_id => 'xri://=!545A.6972.43FA.38AD' }; say dump($sql, \@bind); } { my ($sql, @bind)

    SQL::Interp - 日向夏特殊応援部隊
    jay777
    jay777 2009/08/02
  • Imager::Graph のサンプル - 日向夏特殊応援部隊

    今、ちょうど簡単なお仕事でグラフ出さないといけないので、適当に書いてみた。GD::Graph の出力はどう見ても切ない貧弱な表示なので今回は触れない。 #!/usr/bin/perl use utf8; use strict; use warnings; use Carp; use Imager; use Imager::Graph::Pie; my $chart = Imager::Graph::Pie->new; my $font = Imager::Font->new( file => '/path/to/example.ttf', aa => 1 ); $chart->set_style('primary'); $chart->set_font($font); my $img = $chart->draw( width => 500, height => 500, font =>

    Imager::Graph のサンプル - 日向夏特殊応援部隊
    jay777
    jay777 2009/06/15
  • MySQL::Sandbox - 日向夏特殊応援部隊

    MySQL::Sandbox はお手軽に MySQL のサーバーを立ち上げるツールで、ちょっとしたテスト環境を構築するとかに非常に便利なプロダクトです。 とりあえずインストール $ sudo cpan -i MySQL::Sandboxでインストールしてから OS ごとの実行バイナリをダウンロードします。自分の手元の VM は CentOS 5.2 なので、mysql-5.0.82-linux-i686-glibc23.tar.gz をダウンロードしました。 まずは レシピ の最初にあるように make_sandbox してみます。 $ make_sandbox /path/to/mysql-5.0.82-linux-i686-glibc23.tar.gzそうすると /home/zigorou/sandboxes 以下にサンドボックスが出来てます。ついでに mysqld も立ち上がっていま

    MySQL::Sandbox - 日向夏特殊応援部隊
    jay777
    jay777 2009/06/08
  • OpenID TechNight #5 の資料を公開します - 日向夏特殊応援部隊

    今回は二立てでした。 Introduction OpenID Authentication 2.0 Revival Introduction OpenID Authentication 2.0 Revival 前の資料をもうちょっと丁寧に書き直したバージョンです。図解を豊富にしてみたり、どうしてその概念があるのかなんてのが自然と分かるように見直しました。 OpenID Mobile Profile OpenID Mobile Profile こっちはモバイル版 OpenID について、雑多な考察。まだ推敲出来てませんけど何となく頭にある物を書き起こした物です。もっとブラッシュアップしていく予定の物。 と言う訳で宜しければご覧下さい。 SlideShare x はてダ はてなアイデア またか。。。

    OpenID TechNight #5 の資料を公開します - 日向夏特殊応援部隊
    jay777
    jay777 2009/05/19
  • 1