SQLiteの特徴

解説書をみながらメモメモ。

・DBサーバー不要(インストール無し)
・1データベース1ファイル。
・データベースロック(細かい粒度でのロック制御なし)
・メモリへのデータベース作成可能(高速化)
・データベースサイズはバージョン3系ではほぼ無制限(2テラバイト)
・ユーザーの概念無し
・データ型を気にする必要がない
・オートインクリメント有り
  →INTEGER PRIMARY KEY指定で自動採番。最大値以降は空いてる数を順に利用。
  →INTEGER PRIMARY KEY AUTOINCREMENTと指定すると、一度使用した値は利用しない。
  (よって、用途にもよるがAUTOINCREMENTをつけておいた方が無難)
・利用不可なSQLコマンドがある
  →重要なものはサポートされている。LEFT OUTER JOINはOKだがRIGHTは×。
・よく使う日付関連の関数もサポート。但しDate型になるわけではない。
トランザクションサポート。
  →自動トランザクション→コミットなので、バッチ的な処理は宣言しないと遅い。
・.dumpコマンドでバックアップ
・VACUUMでファイルサイズ縮小。自動化も可能。
・パフォーマンスはMySQLPostgreSQLより若干早い?
・データベース暗号化は無償版では非対応
・開発を便利に!phpSQLiteAdmin有り。
  phpSQLiteAdmin http://phpsqliteadmin.sourceforge.net/