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

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

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

Подобные результаты получились в Windows 7 64 бит, Qt 4.7.3 и встроенном в Qt SQLite 3.6.19.
  
  
а с mysql не пробовал? Он так же распространяется по GPL (если для GPL) и он как утверждают разработчики (пруф ниже) тоже шустр.
http://www.mysql.ru/docs/mysql-man-4.0-ru/mysql-optimisation.html#mysql-benchmarks
  
  
MySQL как клиентское решение совершенно не подходит, SQLite для этого хорошо подходит.
Использование MySQL оправдано только для сервера, и возможно в будущем будет добавлена его поддержка, но пока это не приоритетная задача.
  
  
А можно узнать почему MySQL как клиентское решение не подходит?
  
  
Поддержка SQLite это около 400 КБ на диске и примерно +200 КБ к размеру дистрибутива, для Windows. При этом база это один простой файл.
MySQL это же клиент-серверное решение и займёт оно кучу места + сложности с реализацией. Например, Firefox также использует SQLite.
  
  
Не углублялся, но mysql же тоже имеет библиотечную реализацию (встраиваемое в приложение)? Или настолько она неудобна в этом виде?
  
  
MySQL Embedded вроде не бесплатна, в любом случае это несколько мегабайт к размеру дистрибутива, при том, что возможностей SQLite более чем достаточно.
  
RSS-материал