今日もガクリ('A`)
きっと明日もまたガクリ?('A`)
2018 / 11
« «  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 
foobar2000 : foo_custominfo データベースダイエット

普段はあまり気にしていなかったのですが、先日に foobar2000 本体やコンポーネントをアップデートした際に異様に起動が遅い…foobar2000 をインストールしたディレクトリを覗いてみると custominfo_sqlite.db のサイズが 6MB 超えている…

なんでだろうと思い、一旦 foobar2000 を終了し SQLite Database Browser にて custominfo_sqlite.db の中を見てみると、同じ曲の fieldname が PLAYED_TIMESTAMP のレコードがやたらとできてる…多分コレのせいでしょう…

Preferences › Playback Statistics Custom › Playback Statistics Custom Settings の Play Stamp をチェックしていると Playback Statistics Update Timing に合致する度にレコードが挿入されてしまう。要はコレは再生履歴なんですが、foobar2000 じゃこのデータを使う手段や使い道がないのでチェックオフにしておく

で、PLAYED_TIMESTAMP フィールドは UI の中でも使用していないので、このレコードを削除する事にします。SQLite Database Browser で行ってもいいんですが、PHP で以下のような簡易ダイエットスクリプトを作成して実行

  1. <?php
  2. $dbf = './custominfo_sqlite.db';
  3. $dbh = new PDO( 'sqlite:'.$dbf );
  4. $stmt = $dbh->query( 'DELETE FROM quicktag WHERE fieldname = "PLAYED_TIMESTAMP"' );
  5. echo 'row count: '.$stmt->rowCount()."\n";
  6. echo 'error code: '.$stmt->errorCode()."\n";
  7. $stmt = $dbh->query( 'VACUUM' );
  8. echo 'error code: '.$stmt->errorCode()."\n";
  9. ?>

上記スクリプトを実行する事によって、約 25000 レコードが削除され、6.02MB だったファイルが 1.19MB までに小さくなりました。小さくなった custominfo_sqlite.db を foobar2000 のディレクトリに戻し、起動…サックリ起動するようになりました

使用しているフィールド PLAY_COUNT, FIRST_PLAYED_TIMESTAMP, LAST_PLAYED_TIMESTAMP が UI 側で正常に表示される事を確認して終了です

参照

foobar2000, PHPno commentsno trackbacks(15,475)
foobar2000 データベースのバックアップとリストア

この記事は foo_custominfo で保存先を SQLite database に設定している事を対象としています。 foo_custominfo(foo_custominfo.dll) と Playback Statistics Custom(foo_playback_custom.dll) を 使っていると、データベースがだんだんと大きくなって、foobar2000 のバージョンアップや 音楽ファイルの移動などでデータベースのメインテナンスが必要となってきますが、 ここではそのデータベースの簡単な保守の方法をメモとして書いておきます

データベースのファイルは foobar2000 のディレクトリの中に custominfo_sqlite.db というファイルがあります。 これを別の場所等にコピーしてバックしておきます。で、このデータベースを操作する為に SQLite Database Browser なるものをダウンロード、解凍します。 SQLite Database Browser を実行して Open Database にて custominfo_sqlite.db を開きます

File メニューから Export > Table as CSV file を実行すると CSV 形式のテキストファイルが生成されるので、 テキストエディタを使用して編集し、同じ様に File メニューから Import > Table from CSV file を 実行するとデータベースに反映されます

custominfo_sqlite.db を定期的にバックアップを取っておけば、大量の音楽ファイルの移動や foobar2000 設定構築の際に Export した CSV ファイルを編集、Import を行えば、レイティング、再生回数などの情報が引き継げます

foobar2000no commentsno trackbacks(7,982)
contents
most viewed (841863)
categories
archives
recent posts
recent updates
recent comments
  • 사이트상위노출 : Euro Truck Simulator 2 – VOCALOID TRAILER : 2015年05月17日(日)
  • ايفون 7 : Pear のセットアップとパッケージのインストール : 2007年12月23日(日)
  • dream : Need for Speed SHIFT 2 UNLEASHED: Car Skin: BMW Z4 GT3 Racing HATSUNE MIKU Packs : 2013年04月11日(木)
  • Pendaftaran Beasiswa Online : Firefox 3 : アドオン keyconfig によるショートカットキー割り当て : 2008年06月24日(火)
  • Alphaziel : PLEX PX-Q3PE (Spinel + BonCasLink + TVTest + TvRock) での録画PC 構築設定メモ : 2014年09月24日(水)
recent trackbacks
912T ASUSTeK blog CSS DARK SOULS Darksouls3 DARK SOULS 3 DarksoulsIII DARK SOULS III DISM Euro Truck Simulator 2 Everquest II firefox foobar2000 foo_custominfo game Install internet KB2990941 KB3087873 mod panels ui PCゲーム Pear PHP PX-Q3PE Raid skin SoftBank software SpeedFan Steam TPS trailer truck TvRock TVTest Windows Windows 7 Win Toolkit WordPress インストール ダークソウルズ 初音ミク 窓辺ななみ
mobile
qrcode:home
profile
曇り札幌市中央区 ‘ 曇り
気温: 10℃ ‘ 湿度: 66%
recommends
Valid XHTML 1.0 Transitional Valid CSS X.X
RSS 2.0 RSS 0.92
RDF/RSS ATOM
get Firefox 2 get Opera
ie