BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース 軽量なAPIを用いたSQLite WinRT Wrapper

軽量なAPIを用いたSQLite WinRT Wrapper

原文(投稿日:2013/06/08)へのリンク

SQLite WinRT WrapperはWindows Phone 8向けに軽量なWindows Runtime (WinRT) APIを使ってSQLiteデータベースにアクセスする機能を提供する。下記のようなさまざまなデータベース処理機能を提供する。

上記の処理は非同期パターンに従う。つまり、処理はワーカースレッド上で行われるので、データベースに接続されているアプリに速度と流動性を与える。このライブラリは例外ベースのプログラミングをサポートし、SQLiteの機能を薄くラップするように設計されている。

SQLite WinRT Wrapperはデータベースからの取得結果に対してコレクションベースのアクセスを提供する。しかし、この機能はデフォルトでは有効になっていない。処理が遅くなり、すべての列を文字列として返却してしまうからだ。この機能を使うには、EnableColumnsProperty()をコールする必要がある。

var statement = await db.PrepareStatementAsync("SELECT rowid, CityName FROM Cities;");
statement.EnableColumnsProperty();


読み取り専用データベースに関連する問題に対しては、ユーザはtemp_store pragmaを使って、SQLiteがインメモリの一時テーブルとインデックスを使うように強制するか、最初にアプリを動かしたときに、データベースをインストールフォルダから別のストレージフォルダにコピーして対処できる。最初の方法は簡単だ。2番目の方法はディスクスペースが必要で、初期化に時間がかかる。しかし、データベースのファイルが小さいなら遅延は感じないだろう。

"読み取り専用データベースで避ける必要のあるその他の機能はWALの値を使ったjournal_mode pragmaです(write-ahead logging)。"とWindows Phone Developer PlatformのプロダクトマネージャであるPeter Torr氏は言う。

この記事に星をつける

おすすめ度
スタイル

BT