Я пытаюсь использовать sqlite (sqlite3) для проекта для хранения сотен тысяч записей (хотел бы sqlite, чтобы пользователям программы не приходилось запускать [мой] sql сервер).Эффективное обновление таблицы SQLite со многими записями
я должен обновить сотни тысяч записей иногда, чтобы войти левый правильных значений (они являются иерархическими), но нашел стандартный
update table set left_value = 4, right_value = 5 where id = 12340;
очень медленно. Я попытался окружить каждую тысячу или около того
begin;
....
update...
update table set left_value = 4, right_value = 5 where id = 12340;
update...
....
commit;
но опять же, очень медленно. Странно, потому что, когда я заполняю его несколькими сотнями тысяч (со вставками), он заканчивается через несколько секунд.
В настоящее время я пытаюсь проверить скорость в python (медленность находится в командной строке и python), прежде чем переместить его на C++-реализацию, но сейчас это способ замедлить работу, и мне нужно найти новое решение если я не сделаю что-то не так. Мысли? (Бы альтернатива с открытым исходным кодом для SQLite, который является портативным, а)
Ничего себе, это, похоже, сработало. Почему и где я могу больше узнать об этом? – blackrim
Обзор оптимизатора SQLite3 находится по адресу http://www.sqlite.org/optoverview.html –
@blackrim: На той же странице: http://web.utk.edu/~jplyon/sqlite/SQLite_optimization_FAQ.html # indexes –