表題のとおりです。まだテストをシビアに作り込んでいないので、とりあえず本体のコードを張っておくにとどめておきます。 コピペするときに、最初のバグあり版 0.01 を貼ってしまっていたので、現在の版 0.02 に差し替えておきます。 0.03に。foreign_key_info の中で、指定したプライマリー・キー・テーブルが存在しないときに無駄な処理をしないようにしました。 0.04に。foreign_key_info の @fk から sqlite の管理テーブルを除去するのに map ではなく grep を使うようにしました。 package DBD::SQLite::AddInfoFunc; use strict; use warnings; use DBD::SQLite; our $VERSION = "0.04"; package DBD::SQLite::db; use DBI
SQLite性能評価まとめ SQLite3.4.2の性能について調べた結果をまとめておきます。 調べたのはデータ追加(INSERT)のパフォーマンスです。テーブルに100000件のデータを追加した時の処理時間を測りました。 SQLite性能評価その1 トランザクション明示的指定(BEGINとEND)の効果 SQLite性能評価その2 その1のインメモリ版 SQLite性能評価その3 sqlite3_prepareとsqlite3_stepの効果 SQLite性能評価その4 その3のインメモリ版 SQLite性能評価その5 インメモリ版とC++標準ライブラリコンテナの比較 上記の記事のポイントを以下に列挙します。 大量のデータをINSERTするときに、トランザクションを明示的に指定(BEGINとEND)すると、1500倍速くなる。 sqlite3_prepareとsqlite3_stepを使
で、下記の PRAGMA synchronous = off だとか、MySQL の SET NAMES utf8 みたいなのを DBIC でやるばあいは $schema->storage->on_connect_do( ['SET NAMES utf8'] ); みたいにするわけだけど、これは今はschemaクラス自体には書いておけないのでめんどくさい。(0.699..のほうではできるようになっている) Catalyst でつかうだけなら、今の DBIC でも、Model::DBIC::Schema の connect_info で on_connect_do を書いておける。 connect_info => [ 'dbi:SQLite:dbname=foo.db', { on_connect_do => [ 'PRAGMA synchronous = OFF', ], } ], blb
sqlite: SQLite データベースを管理するプログラム (This page was last modified on 2003/06/29 16:11:13 UTC) SQLite ライブラリには sqlite というシンプルなコマンドライン ユーティリティが含まれます。これを使うと、ユーザは手作業で SQLite データベースに接続して SQL コマンドを実行できます。この文書では sqlite の使い方に関する概略を紹介しています。 起動する sqlite を起動するには単に "sqlite" とタイプし、その後ろに SQLite データベースを保持するファイル名を付けます。ファイルが存在 しない場合は、自動的に新しく作られます。起動後 sqlite プログラムは、SQL をタイプするためのプロンプトを表示します。 SQL ステートメント(終了はセミコロン)をタイプし、 "E
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く