タグ

SQLiteに関するyoshukiのブックマーク (3)

  • SQLite で「PRIMARY KEY」を《真のプライマリキー》とするには | tech - 氾濫原

    http://www.sqlite.org/withoutrowid.html WITHOUT ROWID 最適化について SQLite は常に暗黙的な rowid カラムを持っていることになっている。これはカラムとして明示することもできるし、interger primary key として定義されたフィールドは暗黙的な rowid の代わりにすることができる。SQLite ではこの rowid が基のプライマリキーになっている。 適当な数値をプライマリキーにしたい場合はこれで全く問題ないが、複合キーだったり文字列をプライマリキーにしたい場合、その表面上のプライマリキーとは別に rowid カラムができる。このケースでは表面上のプライマリキーを使って SELECT しようとすると、表面上のプライマリキーのインデックスを探したうえで、さらに rowid のインデックスを探すことになる。つま

  • iOSでSQLiteを使う2(FMDBのFMDatabaseQueueクラスを使ってみる)

    FMDBにはスレッド間でSQLiteを使用する際のヘルパークラスが提供されています。そのクラスがFMDatabaseQueueです。 このクラスの用途と、どういったシーンで使用していけば良いのかを考えつつ、サンプルプログラムで試してみます。 因みに、FMDBの基的な使い方に関しては前回書いた iOSでSQLiteを使う(FMDB) を参照。 FMDBのREADMEにはFMDatabaseのインスタンスをシングルトンにして、マルチスレッド上から唯一のFMDatabaseインスタンスを 取得して使用することは推奨されておらず、一見うまく動いているようでも、いつかはクラッシュしたり、例外が 発生することになるだろうと書かれています。つまり、FMDatabaseクラスはスレッドセーフでは無いということになります。 ちなみに、シングルトンじゃなくてスレッド毎にFMDatabaseインスタンスを生成

    iOSでSQLiteを使う2(FMDBのFMDatabaseQueueクラスを使ってみる)
  • iOS で SQLite - FMDB の使い方 - アカベコマイリ

    iOS で SQLite を簡単に扱うためのライブラリ FMDB についてまとめる。 2017/1/22 記事のサンプルを最新の Objective-C と Swift で書き直して記事にまとめました iOS で SQLite - FMDB の使い方 2017 FMDB とは? FMDBSQLite を iOS の Objective-C で扱いやすくするための Wrapper ライブラリ。 GitHub で公開されている。 ccgus/fmdb インターフェースや使用感は JDBC や ADO.NET に近い。よってこれらを利用したことがあればスムーズに理解できるだろう。 FMDB の仕様準備 まず FMDB を利用したいプロジェクトSQLite 用のライブラリを有効にする。手順は以下。 Xcode 左ペインのナビゲーションからプロジェクトを選択 右ペインに PROJECT

  • 1