我需要在我们的产品中集成一个数据库,我不知道哪一个更适合我们的需求(易于自动部署,没有管理,良好的性能),而且sqlite似乎是一个很好的解决方案。问题是数据库可能面临高并发问题:每次客户端连接到运行数据库的服务器时,它都可以通过PHP(Apache)进行访问。一个客户端每10秒将服务器近似地连接(并执行一个INSERT查询),并且可能有超过100个客户端运行。
执行INSERT查询时,sqlite将在一定时间内将整个数据库锁定一段时间。有没有办法计算持续时间?如果这是不可能的,你认为sqlite(v3.3.7)是否仍然适应上述条件?
我不认为sqlite将是这些要求的一个很好的解决方案。 sqlite仅为本地和轻量级使用而设计,不提供数百个请求。
原文链接:https://www.f2er.com/sqlite/197931.html我会推荐一些其他解决方案,例如MysqL或Postgresql,都可以很好地编写脚本。所以,如果我是你,我会把我的努力放在安装脚本中。
为了避免sqlite信徒和仇恨者之间的火焰战争,让我吸引您注意经常提及的SQLite When-To-Use文档(我认为它被认为是可信的来源)。这里他们说:
Situations Where A Client/Server RDBMS May Work Better
High Concurrency
sqlite supports an unlimited number of simultaneous readers,but it will only allow one writer at any instant in time. For many situations,this is not a problem. Writer queue up. Each application does its database work quickly and moves on,and no lock lasts for more than a few dozen milliseconds. But there are some applications that require more concurrency,and those applications may need to seek a different solution.