History

    
  

Производительность SQLite для хранения сообщений

По умолчанию история сообщений в Simple Chat 2 будет храниться в SQLite базе данных. Начал реализовать запись истории и столкнулся с жуткими тормозами, простейшая вставка в пустую таблицу занимала 150 мс! Этого достаточно чтоб заметить задержку при добавлении сообщений.

Исправить оказалось довольно просто с помощью PRAGMA synchronous = OFF после чего время вставки составило 1-2 мс. Но эта опция может привести к повреждению базы при внезапном отключении питания и т.п.

Подобные результаты получились в Windows 7 64 бит, Qt 4.7.3 и встроенном в Qt SQLite 3.6.19.
  
RSS-материал