タグ

VACUUMに関するharusoftのブックマーク (4)

  • sonson@Picture&Software - [iPhone SDK] SQLiteへの誤解

    私は激しくSQLiteを誤解していました.その誤解を並べてみました. 1.INSERTは遅くない INSERTクエリは,トランザクションでまとめる.トランザクションとは,一旦,他からの処理をロックして,まとめて登録するような感じの処理らしい. 多くのデータをINSERTするときは, sqlite3_exec( database, "BEGIN", NULL, NULL, NULL ); for(){ insert---- } sqlite3_exec( database, "COMMIT", NULL, NULL, NULL ); とする. 2.VACUUMして,メモリを効率よく使う SQLiteは,削除した項目が残る.定期的にVACUUMをして,残ったゴミを掃除する. iPhoneでは,使えるメモリが少ないので,これはかなりクリティカルな問題となる. ただし,経験的にVACUUMはゴミが

  • PostgreSQL 8系のパラメータチューニング

    へんじがない。ただのポンコツのようだ。 ポンコツが今日も持ち場でガンバリつつ、 楽しく生きていくための備忘録ブログ。ぬわーーっっ!!2005年7月から絶賛「更新」中! 【この記事の所要時間 : 約 7 分】 PostgreSQL 7系 と 8系 では 8系の方が性能的に大きく改善されている。8.0からは、VACUUM処理の遅延機能、8.1からは、自動VACUUM機能が実装されVACUUM処理の欠点が大きく解消された。そして8.0からバックグランドライター機能が実装されCHECKPOINT実行による性能低下を避けることが可能になった。それに伴い、設定するパラメータにもバージョンの違いによる変化がある。 以下は、Postgresql 7系の時に利用したパラメータである。 PostgreSQL 7系のパラメータチューニング 1.実装メモリ = 1GB×4 = 4 GB 2.shmall(システム

    PostgreSQL 8系のパラメータチューニング
  • JoJoWiki/Computer/PostgreSQL - JojoWiki / じょじょうぃき

    コンカレントバキューム / concurrent VACUUM † 関連情報 ITPro ニュース:24時間365日稼働が可能な「PostgreSQL7.2」が正式リリース WWW.POT.JP PostgreSQLのVACUUM [抜粋] PostgreSQL(以下ポスグレ)のVACUUM(バキューム)について調べてみました。 ■VACUUMとは ポスグレ独自のSQLコマンド。ポスグレではUPDATE、DELETE文では物理データ の削除は行われず削除フラグをたてるだけで追記していくためどんどんディス クを消費していってしまう。そのため定期的に不要になった領域を回収する必 要がある。そのコマンドがVACUUM。 ■VACUUMとConcurrent VACUUM VACUUMの処理は削除フラグの立ったデータを物理的に削除するので、その間対 象テーブルに全てのアクセスを禁止するロックをかけ

  • [ThinkIT] 第3回:VACUUMの活用によるチューニング (1/2)

    VACUUMは他のデータベースにはないPostgreSQL固有のコマンドであり、使い方次第でPostgreSQLの性能を左右する重要な役割を持ちます。 PostgreSQLでは、削除や更新が行われても古い行は消えません。VACUUMコマンドは、このような古い行の中から、どのトランザクションからも参照されていない安全に再利用できる行を探して、FSM(Free Space Map)という共有メモリ上のデータ構造にその位置と大きさを記録します。追加や更新など、新しく行を追加する場合はまずFSMを検索して、新しいデータを保管するのに適当な大きさの行が見つかればそれが再利用されます(図3)。

  • 1