タグ

ブックマーク / fanblogs.jp (1)

  • sqlite3 1万件を超えるならUPDATE/DELETEは使っちゃダメ

    PHP+PDOでsqlite3のデータベースを使うことがありました。 データ件数は、1日1000件ぐらい増える感じで、1万件、5万件、10万件と増えていきます。 当然追加(INSERT)する際は、PK(実際はインデックスなし)の存在を確認してInsert Or Updateな処理が必要になります。 件数が多くなるとトランザクションは必須です。 テストデータは、5万件超えのもので確認しています。 何も考えずに、select pk from tbl where pk=?的なSQLで検索して、存在しなければInsert、存在すればUpdateという処理にすると (以下、msec=ミリ秒です。) select発行コストは、1件あたり0.001sec(1msec)とごくわずかな時間でした。が、 UPDATE発行コストは、1件あたり0.06sec(60msec)もかかります。 10件で、600msec

    sqlite3 1万件を超えるならUPDATE/DELETEは使っちゃダメ
  • 1