从经常更新的表中的长 sql 查询中,我应该得到什么结果?



我确实有一个数据库,其中包含一个超过300mi条目的表。每分钟有近 300 次插入,

很多时候,我们需要获得统计数据。(计数,平均总和(。 每个查询需要 10 到 30 秒才能完成。

从查询开始到结束,表数据会增加 100 多个条目。

我从统计查询中获得的数字与查询的开始或结束有关?

我正在使用mysql和innodb

无论您的事务隔离级别如何(例如可重复读取或读取提交(,针对InnoDB表的任何单个SQL查询都会获得一种"快照"或数据库的一致视图。

SELECT查询不会阻止并发插入或更新,但这些插入或更新不会影响SELECT查询的结果。它将"看到"SQL查询开始时存在的数据。

如果使用可重复读取事务隔离级别,则事务中的所有查询(包括可能有多个SELECT查询(至少是非锁定查询((都会看到一致的数据快照,即使并发插入仍在继续也是如此。

相关内容

最新更新