вкратце:
есть очередь запросов на обновление БД (UPDATE ...)
процесс их обрабатывает, обновляя базу
очередь переполняется, он не успевает все обработать, делает это слишком медленно
сделал тестовый скрипт:
size: 31 n: 469 time: 0.0000948905944824218750
size: 30 n: 470 time: 0.000092983245849609375
size: 29 n: 471 time: 0.0000920295715332031250
size: 28 n: 472 time: 0.0001099109649658203125
size: 27 n: 473 time: 0.0633759498596191406250 ***
тут видно что на один запрос типа UPDATE table... — тратится примерно 0.00009
а когда делаем commit() — 0.06337
в реальном же скрипте начинаем с 0.835566997528076171875
и со временем тот же запрос выполняется уже 1.2133929729461669921875
код буду и дальше упрощать, хотя хз что там ещё можно упростить
а узнать хочу вот что — есть какие-нибудь сторонние средства отследить работу с базой? т.е вдруг её какой-то левый процесс при этом дергает и не дает ей обновиться?
может у самого sqlite есть какой-нибудь дебаг-режим, чтобы все запросы к базе валились на экран? чтобы увидеть лишние, если они есть
или как-то отследить все возможные локи?
мой процесс ставит RLock на каждый execute()
а вот commit() правда делает без лока. но в целях оптимизации коммит делается только каждый 10-ый запрос
Ответ на:
комментарий
от Karapuz
Ответ на:
комментарий
от sergey-novikov
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум sqlite падаем база (2008)
- Форум Управление базами/таблицами sqlite (2008)
- Форум avalon не обновляет базы (2010)
- Форум как обновляет базы drweb (2005)
- Форум awstats долго обновляет свою бд (2013)
- Форум Почему Ubuntu так долго обновляется? (2013)
- Форум pycharm добраться до sqlite базы (2016)
- Форум поиск текста в sqlite-базе (2013)
- Форум Чем можно смотреть базы SQLite? (2009)
- Форум [python][sqlite]как ускорить скрипт? (2011)