我很好奇。我有这样的流程:我们有大量的数据集合/表。并且有一些select
面向的查询很长,需要3秒。
然而,我们期待高度并发的环境,每秒我们在数据库中获得100条新记录。
因此,假设我们有一个查询,在查询开始之前,我们有1000个项目满足这些查询。查询需要3秒,每秒有50个新项目与添加到数据库的查询匹配。我的问题是 - 这是这个查询返回给我的结果(它仍然是1000或1150或介于两者之间)以及它如何依赖于不同的数据库引擎(SQL,NoSQL)。 0
这不是关于确切数字的问题,而是更多 - 为什么它将是那些数字。
看起来问题有点宽。让我们用MySQL,Postgres,MongoDB和Cassandra限制数据库。
答案 0 :(得分:1)
一般来说(主要是因为您没有命名特定数据库),数据库的并发级别是可配置的,属于性能调优的范畴。
一些常见的锁粒度是:
因此,如果您使用ROW级别锁定,则可能会获得所有1150个结果,但代价是锁定开销较高。或者,如果您使用TABLE级别锁定,您将非常快速地获得1000个结果,但代价是您的数据流被阻止写入数据库3秒。