MySQL或SQLite引擎或多或少是线程安全的?

时间:2017-08-21 14:57:50

标签: mysql sqlite thread-safety poco-libraries

我只有一个小的数据集,可能每年100MB。

我应该使用MySQL而不是SQLite吗?

哪个是线程安全的?

1 个答案:

答案 0 :(得分:0)

直接来自SQLite website

  

SQLite支持三种不同的线程模式:

     
      
  • <强>单螺纹即可。在此模式下,所有互斥锁都被禁用,并且SQLite一次不能在多个线程中使用。

  •   
  • <强>多线程即可。在这种模式下,只要没有使用单个数据库连接,SQLite就可以被多个线程安全地使用   同时在两个或多个线程中。

  •   
  • <强>序列化即可。在序列化模式下,SQLite可以安全地被多个线程使用,没有任何限制。

  •   
     

可以在编译时选择线程模式(当SQLite时   库是从源代码编译的)或在开始时(当时   打算使用SQLite的应用程序正在初始化)或在运行时   (当创建新的SQLite数据库连接时)。通常   说来,运行时覆盖启动时和启动时覆盖   编译时间。除此之外,单线程模式不能被覆盖一次   地选择。

     

默认模式已序列化。

选择SQLite或MySQL仅取决于您的特定应用目标和数据的数量/复杂性。