根据 MySQL 文档,对于具有
REPEATABLE READ
隔离级别的事务:
同一事务内的一致读取会读取第一次读取建立的快照。
我想尽快为一张表建立快照。我知道
SELECT * FROM <the table> LIMIT 1
有效,但即使表的一行很大,这样的查询也需要很长时间。所以我想知道是否有更快的方法来完成表格的first read
。
执行
select 1
而不是 select *
,这样您实际上并没有在读取表数据?
如果这仍然太慢,并且您知道最大行数,您可以这样做:
select 1 from yourtable limit offset 100000000
尽管请用您的数据进行尝试;可能不会比以下更快:
select count(*) from yourtable