从经常更新的 table 的长 sql 查询中,我应该期待哪个结果?

Which result should I expect from a long sql query from a table that is updated very often?

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

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

从查询开始到查询结束,table数据增加了100多条。

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

我正在使用 mysql 和 innodb

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

SELECT 查询不会阻止并发插入或更新,但这些插入或更新不会影响 SELECT 查询的结果。它将 "see" 存在于 SQL 查询的 start 处的数据。

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