Pull to refresh

Comments 11

А есть информация как быстро Гугл обновит sqlite в Андроиде? Или они таким не занимаются?

Даже если и обновят, то можно будет использовать только на последней версии Андроида. Можно самому собрать и поставлять вместе с приложением как например здесь.

А тормозить оно перестанет когда-нибудь? Ну серьезно, это самая тормознутая база данных, что я видел в жизни, даже делать sql-запросы к xls-файлу, наверное, в итоге будет быстрее, чем использовать sqlite.

Большая часть известных мне медиабиблиотек — музыка, книги (calibre) — используют sqlite. ВСЕ они начинают адски лагать уже при количестве записей в базе больше 60 тыс, про таблицы с сотнями тысяч строк я даже не заикаюсь.

ВСЕ мессенджеры сейчас базируются на электроне, который использует sqlite. ВСЕ мессенджеры без исключения адски лагают при попытках посмотреть историю переписки. Про поиск я уже вообще забыл, найти что-то в истории или не представляется возможным или так же адски лагает и может, например, просто месяц пропустить в результатах (ну правда, зачем вам все записи из базы? И так сойдет!)

Не представляю как ЭТО смогло стать стандартом де-факто для переносимых баз в современном мире.

SQLite спокойно работает с сотнями тысяч, миллионами и десятками миллионов записей. Если какие-то программы тормозят — это только вопрос прямоты рук разработчиков этих программ.

Так я не говорю, что оно не работает. Прекрасно работает. Только очень-очень медленно.
Дополню: я бы согласился с тем, что у разработчиков приложений кривые руки. Но тормозят ВСЕ программы основанные на sqlite. Без исключений. И тормозит именно на запросах к базе данных, а не в интерфейсах.

Вы сделали несколько утверждений:


  1. ВСЕ мессенджеры сейчас базируются на электроне, который использует sqlite.
  2. ВСЕ мессенджеры без исключения адски лагают при попытках посмотреть историю переписки.
  3. Тормозят ВСЕ программы основанные на sqlite. Без исключений.

Эти три утверждения не соответствуют действительности. Если вы и сами это понимаете — не вижу смысла дальше что-то обсуждать. Если нет — тем более.

Ок, возможно я несколько преувеличил. Но тогда я бы хотел увидеть эту мифическую не тормозящую программу на sqlite с базой более 50 тыс записей.
Лично у меня нет положительного опыта использования sqlite. И да, я пытался его использовать в своих проектах — и он тормозил и там тоже.
Если у меня будет выбор не использовать sqlite — я выберу именно это. Ничего личного.

Напишете свой велосипед который точно не будет тормозить :)

Несмотря на то, что SQL универсальный язык, для каждой РСУБД желательно знать её тонкости, чтобы потом не жаловаться на тормоза и «неправильную» работу. Также у каждой СУБД есть своя ниша. SQLite плохо подходит, когда в базу пишут из нескольких соединений, а вот «один пишет и много читают» — его конёк.
То, что программы тормозят — это в 99% случаев не вина SQLite. Различные менеджеры могут использовать как индексы, так и полнотекстовый поиск. А вот используют ли они это, узнать можно просто посмотрев базу. Тот же Viber не строит индекс по тексту сообщения, но он и по сообщениям не ищет.

Наверно одна из самых распространенных ошибок — это последовательность DML-операторов, без оборачивания их в транзакцию, в результате чего каждый из них выполняется в отдельной транзакции, что, в купе с включенной по умолчанию синхронизацией по диску, разумеется приводит к небольшой скорости выполнения, называемой тормозами.

P.S. Telegram вроде как хранит (или хранил?) сообщения в SQLite и к нему претензий по скорости поиска я не слышал. Журнал в Firefox также использует SQLite и лично меня скорость поиска в нем устраивает.
Да, у Firefox явно с журналом проблемы. Например, если зайти в журнал посещений и выбрать там несколько тысяч записей и удалить — то при удалении, нагрузка на процессор взлетит на 100% на несколько минут. Но если удалить историю через настройки — то удаление происходит почти мгновенно.
Sign up to leave a comment.

Other news