タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

perlとdatabaseに関するmakamaka_at_donzokoのブックマーク (12)

  • DBD::SQLite 1.41_01 - Charsbar::Note

    SQLite 3.8.0 が出たので、DBD::SQLiteにバンドルされているライブラリも更新して、1.41_01としてリリースしました。SQLite 3.8.0ではクエリプランナーが一新されているほか、where節で限定する部分インデックスも利用できるようになっています。 新しいクエリプランナーの詳細については下記をどうぞ。 http://www.sqlite.org/queryplanner-ng.html 私自身はまだ使い込んでいませんが、SQLiteの作者氏によれば、sqlite.orgで2ヶ月以上使ってみたけれども問題は出ていないとのこと。DBD::SQLiteのテストから判断する限り、今回の変更によって余分なsortがひとつ減ったりしていますので、通常は新しいクエリプランナーの方が多かれ少なかれよい結果が期待できるはずですが、前回のクエリオプティマイザ最適化のときにもあったよ

    DBD::SQLite 1.41_01 - Charsbar::Note
  • DBIとforkの関係 - heboi blog

    実際ググれば正解はいっぱい出てくるしここに自分もコメントで書いてたりしていまさら書く必要もないかなと思ってたけど一応自分のブログでもまとめておくということで。 一般的な解 DBIx::ConnectorとかDBIx::Handler経由でかならず$dbhを取得してからDBIを使う。 もしくはfork-safeなORM(DBIx::Class, DBIx::Skinny, Teng)を使う。 DBIを直接使っている場合 一般的なコネクションを保持するクライアントと同様にDBIもforkした子供が親のコネクションをそのまま使うことはバグの原因になります。特にトランザクションの処理等で重大な問題が起こる可能性がある。 解決策は、 DBIのコネクションを親で作らないで、子供で独自に作る 親で作ってしまったコネクションを子供が安全にDESTROYし、再接続する のどちらかになります。ここで問題は2で

    DBIとforkの関係 - heboi blog
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Oracle 10g + Perl DBD-Oracle で結構ハマッた・・・

    引き続き、Oracle 10g ネタ。今度は、Perl DBD-Oracle でハマッた。なんっつーか、Oracle って移行するたびにバッドノウハウが必要。MySQL とかオープンソースなデータベースの方がよっぽど簡単といつも思い知らされる。 そうか、自分が Perl 使いだからか・・・Java で JDBC とか使えばこんなに苦労しないのかも・・・とちょっと思ったりしましたが、Lightweight Language が好きなので文句を言っても仕方がない。シコシコと頑張る。

  • DBIx::Encoding でPerlとDB間の文字コード & utf8 flagを透過的に扱う - JPerl Advent Calendar 2009

    DBIx::Encoding でPerlDB間の文字コード & utf8 flagを透過的に扱う - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? はじめに はじめまして、myfinderといいます。 Casual Trackの記事をupしたときに話が出たので、記事を書いてみたいと思います。 今回ご紹介するモジュールは DBIx::Encoding です。 DBIx::Encodingは非常に小粒なモジュールですが、BKだなと自分でも思っています。 cho45さんの紹介されているモジュールと割と趣が近い気がします。 Casual Trackのxaicronさんの記事にもあるように、いわゆるモダンなPerl開発ではソースコードをUTF-8で記述し「use utf8;」し、文字列は「入力時にdecode、

  • 第21回 KiokuDB:マッピングが複雑すぎると感じたら | gihyo.jp

    Shibuya.pm #12連動企画 日開催のShibuya Perl Mongersテクニカルトーク#12のテーマは "No Perl, NoSQL, NoKVS" または "Not only Perl, Not only SQL, Not only KVS" ということなので、今回はそれにあわせてYAPC::Asia 2009でも紹介されていたKiokuDBについて簡単に取り上げてみます。 オブジェクトをまるごと保存する 牧大輔氏も『モダンPerl入門』のなかで、データベースをハッシュテーブルのようにとらえて、「⁠基的にプライマリキーからデータを持ってくる構成のみにすると、ORMを使用することによりキャッシュの導入も含めてチューニングが楽になります」と書いているように、Perlの世界では最近RDBMSやその上位層で頑張りすぎるより、モデリングの仕方そのものを工夫して実装や保守のしや

    第21回 KiokuDB:マッピングが複雑すぎると感じたら | gihyo.jp
  • DBIx::Skinnyを使った際のCache方法考察 - Hatena::Diary::Neko::kak 500 Internal Server Error

    DBIx::SkinnyにはDODやData::Modelのようにキャッシュを透過的に扱う 便利機能はありません。 無いのでラッパーを書きませう。 毎度の事でデモは http://github.com/nekokak/p5-dbix-skinny-sample/tree/master/cache/ に置いてあります。 ユーザテーブルがあるとします。 CREATE TABLE user ( id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(255) NOT NULL, UNIQUE(name) ); ユーザの情報をキャッシュからひけなければDBから引っ張って キャッシュしておき、次に使う時はキャッシュデータを使うという典型的なパターンです。 userテーブルの定義などはこのようにします。 今回はinflate/deflateも一緒にやってみ

    DBIx::Skinnyを使った際のCache方法考察 - Hatena::Diary::Neko::kak 500 Internal Server Error
  • DBIx::Skinnyを使った際のPaging方法考察 - Hatena::Diary::Neko::kak 500 Internal Server Error

    DBIx::Skinnyにはネイティブにpagingをしてくれる便利機能はありません。 (最近ないないばっかり言ってるな) DBICとかだと$rs->pagerみたいにしてData::Pageのオブジェクトを返してくれるんですが、 Data::Pageのオブジェクトを作る際に、内部でcountを発行しています。 pagingするにはSQLにLIMIT/OFFSETをかけてると、思うのでLIMIT/OFFSETを掛けなかった際の トータルな件数を取るためですね。 結構このcountが馬鹿にならないくらい内部で発行されることがあるのでSkinnyではあえてサポートしなかったです。 あと、独自にSQLを書かせる事をお題目にあげているので、 独自に書かれたSQLを内部でごちゃごちゃしてcount発行するとかヤッテラレナイてのもあります。 ただ、アプリを作ってる時にpagingは必須なのでどうすれば

    DBIx::Skinnyを使った際のPaging方法考察 - Hatena::Diary::Neko::kak 500 Internal Server Error
  • myfinder's blog: DBIx::Encodingというモジュールを書いた

    YAPCおつかれさまでした。YAPC中、今まさに課題になっているDB周りの問題を解消すべくDBIx::Encodingというモジュールを書きました。このDBIx::EncodingはDBIのサブクラスで、executeとfetchの際に指定した文字コードでencode/decodeしてくれるものです。そもそもDBの文字コード設定がUTF8なら余り悩むこともないのですが、世の中いろいろと事情があってDB側を変更できない事も多いでしょう。そんなときにこのモジュールを使うと、DBI側で文字コードをencodeしてinsert/updateしてくれ、selectしたときにはutf8 flagを有効にした文字列を返してくれます。使い方はSYNOPSISにもありますが、下記の通りmy @dsn = ( 'dbi:mysql:host=localhost;database=mysql;

  • DBIx::Skinnyを使った際のDBShardingの方法考察 - Hatena::Diary::Neko::kak 500 Internal Server Error

    DBIx::SkinnyはDBIへの薄いラッパーなので ネイティブにDBShardingをサポートはしていません。 また、Shardingに限らずSlaveに勝手につないだりしてくれる便利機能もありません。 ただ、ShardingとかSlaveにつないだりはしたくなる事が有ると思うので、 サンプルコードを書いてみました。 サンプルコードはgithubにあります。 http://github.com/nekokak/p5-dbix-skinny-sample ただ、この記事を書いている時点ではgithubがぶっ壊れてるぽくcloneできません。:( 無料で使わせていただいているので文句は言えませんが。 サンプルコードでは DBIx::ShardManagerをつかってみました。 http://svn.coderepos.org/share/lang/perl/DBIx-ShardManage

    DBIx::Skinnyを使った際のDBShardingの方法考察 - Hatena::Diary::Neko::kak 500 Internal Server Error
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

  • 1