Спасибо
ilya_ya за помощь.
Итак, идея в том, что Lightroom хранит свои базы в SQLite. А их можно оптимизировать минимум двумя способами: командой «VACUUM» и дефрагментацией.
Для первого способа нужно
скачать SQLite (всего то около 300 килобайт) и поместить экзешник куда-нибудь, где он будет доступен. Например в директорию Windows.
Для второго нужна махонькая тулза по имени contig (качается
отсюда). Она очень быстро дефрагментирует - но не весь диск, а только тот файл, который вы указали. Распаковываем, помещаем в системную папку, чтобы был в доступе из командной строки.
Делаем файл «optimize_lightroom.cmd» с таким содержимым:
@ECHO OFF & CLS
for /f "tokens=*" %%X IN ('dir /b *.lrcat') do (
rename "%%X" "1.lrcat"
echo "Optimizing DB '%%X'..."
sqlite3 1.lrcat "VACUUM;"
echo "Defragmenting '%%X'..."
contig -v "1.lrcat"
rename "1.lrcat" "%%X"
)
echo "Done."
Сохраняем его в папку, где лежит нужный нам каталог лайтрума. Или опять же в системную папку.
Мне таки не удалось заставить sqlite понимать русские имена, зато workaround с переименованием работает отлично. Если кто разберётся, как без этого обойтись, пишите.
Запускаем файл (при выключенном Лайтруме). Проверяем - не тот ли это эффект, что достигается с помощью команды «Relaunch&Optimize» внутри Лайтрума? У меня размер файла получился меньше. Кроме того Лайтрум наверняка ничего не дефрагментирует.
Теперь от Firefox.
Код почти такой же:
@ECHO OFF & CLS
for /f "tokens=*" %%X IN ('dir /b *.sqlite') do (
echo "Optimizing DB '%%X'..."
sqlite3 "%%X" "VACUUM;"
echo "Defragmenting '%%X'..."
contig -v "%%X"
)
echo "Done."
С тем отличием, что Firefox не использует русских имён и переименовывать ничего не надо.
Скрипт запускаем в папке профиля текущего пользователя. Что-то вроде «c:\Documents and Settings\ItsMe\Application Data\Mozilla\Firefox\Profiles\jkbhtp65.default». Там должно быть штук восемь файлов с расширением «sqlite» - это верный признак. Разумеется перед запуском выключите Firefox.
И создайте backup - хотя бы в первый раз, пока не убедитесь, что всё работает.
Ну как, стало быстрее?
p.s. Как бы написать программу, генерирующую превью без участия Lightroom… Сколько бы времени сэкономило бы!