我必须执行2个查询:查询A很长(20秒),查询B很快(1秒)。 如果查询A正在运行,我希望保证查询B的执行速度也很快。 我如何实现这种行为?Nodejs和Sqlite。执行长查询
0
A
回答
0
由于SQLite的锁定方式,这可能并不容易。
来自官方的Appropriate Uses For SQLite文档:
SQLite支持同时读者的数量不受限制,但只允许在任何时刻一个作家的时间。对于很多情况,这不是问题。作家排队。每个应用程序都快速完成其数据库工作并继续前进,并且不会有超过几十毫秒的锁定。但是有一些应用程序需要更多的并发性,而这些应用程序可能需要寻求不同的解决方案。 [...] SQLite每个数据库文件一次只支持一个写入器。但在大多数情况下,写入事务只需要几毫秒,因此多个写入者可以轮流进行。 SQLite将处理许多人怀疑的更多写入并发性。尽管如此,客户端/服务器数据库系统,因为他们有一个长期运行的服务器进程来协调访问,通常可以处理比SQLite更多的写入并发性。
如SQLite文档所述,当您拥有如此多的数据以至于单个查询需要这么长时间时,它可能不是使用SQLite的最佳方式。
除了使用像PostgreSQL这样的真正的RDBMS之外,没有简单的解决方案可以解决这个问题。
而且由于您没有包含那些需要这么长时间的查询,所以除此之外,还无法告诉您任何事情。当然,也许你的查询可以优化,但我们不知道。
相关问题
- 1. nodejs + sqlite:查询执行顺序
- 2. 执行SQLite查询
- 3. Mysql长执行查询
- 4. NodeJS MySQL:度量查询执行时间
- 5. 从nodejs客户端执行voltdb查询
- 6. SQLite:执行查询时出错:near“WITH”
- 7. Java sqlite执行数千个查询
- 8. 如何分析Sqlite查询执行?
- 9. 执行查询SQLite中的Xcode内
- 10. Android Sqlite查询执行中断
- 11. MySQL,JDBC查询执行时间太长
- 12. Hive查询执行时间太长
- 13. MySQL PHPExcel查询执行时间太长
- 14. 查询花太长时间执行
- 15. SQL查询执行时间太长
- 16. SQL查询长时间执行时间
- 17. 查询花费很长时间执行
- 18. 插入和执行查询在android的sqlite数据库错误
- 19. 每行sqlite查询
- 20. 如何在Nodejs中编写mysql查询的串行执行
- 21. 查询执行
- 22. 查询执行
- 23. 执行查询
- 24. nodejs - IF和ELSE都执行
- 25. 从Sqlite查询遍历行 - 查询
- 26. 长查询和applicationDidEnterBground:
- 27. Django的:SQLite和查询
- 28. 游标,SQLite和查询
- 29. Android SQLite查询Where和Where
- 30. 执行相同的查询会在nodejs中给出“FailedToParse”错误
查询是一个简单的select * from表,并且该表具有10000000条记录(例如)。 – user2957271