2006年11月20日月曜日

[Linux] CentOS に SQLite をインストール

今回は CentOS に SQLite をインストールしました。

環境
CentOS4.4 on VMware

用意するもの
sqlite-2.8.15.tar.gz
sqlite-3.3.8.tar.gzは一発 make 通らないので安定版の2.8.15に。

インストール
$ tar zxvf sqlite-2.8.15.tar.gz
$ cd sqlite
$ ./configure --prefix=/usr/local/sqlite --enable-utf8
$ make
$ make install

SQLiteとは
組込用のRDBMS。SQL92のサブセットをサポートするCライブラリ。
* SQL92サポート(いくつかサポートしていないものもあります)
* データベース(複数のテーブルやインデックスを含む)は、単一のファイルに格納
* アトミック、コミット、ロールバックをサポートし、データの完全性を保護
* データベース・ファイルの構成はバイトオーダーに依存しないため、ファイルコピーでマシンも移動可能
* データベース・ファイルが2テラバイトまで使用可能
* 省メモリ消費:C code にして 25000行未満
* 多くのオペレーションで PostgreSQL や MySQL の2倍速い
* 非常にシンプルな C/C++ 用インターフェース(3つの関数と、1つのopaque型構造体だけ)
* 標準でTCLバインディングを含む(他の多くの言語用バインディングが別に存在)
* 単純な、よくコメントされたソース・コード
* おおよそ100%のコードをカバーする自動テストスィート
* すべてを内包しており、外部依存性はありません
* LinuxとWindowsで構築・テストしました
* ソースはパブリックドメイン。任意の目的に使用できます

生まれ変わるPHP - Zend Engine 2、SQLiteの実力は?
次のように繰り返し処理を1つのトランザクション内に置いてみたところ、1000件の挿入もMySQLを上回る0.221312秒で完了した。
sqlite_query($con, "begin;");
$start = getmicrotime();
for ($i=$j+1; $i<$lines; $i++) {
$sql = sprintf("insert into t1 values(%d);", $i);
sqlite_query($con, $sql);
}
$elapsed = getmicrotime() - $start;
sqlite_query($con, "commit;");

ということで期待☆

0 件のコメント: