MySQL测量全表扫描时间

MySQL测量全表扫描时间,mysql,Mysql,我有一张5TB的桌子。我只想知道做一次全表扫描需要多少时间。我不关心返回的数据。我试图从mytable运行select*;但由于某种原因客户被杀了。不确定这是否是由于某种超时或太多数据无法处理造成的。是否有可靠的方法获取查询的时间消耗?不确定这是否有用,但我的表模式如下所示:创建表datatable一个整数,名称varchar200,类varchar200,原因varchar200 我在尝试使用mysql Workbench时也遇到了同样的问题,因为它提供了执行时间,但每当数据较大时,与mysq

我有一张5TB的桌子。我只想知道做一次全表扫描需要多少时间。我不关心返回的数据。我试图从mytable运行select*;但由于某种原因客户被杀了。不确定这是否是由于某种超时或太多数据无法处理造成的。是否有可靠的方法获取查询的时间消耗?不确定这是否有用,但我的表模式如下所示:创建表datatable一个整数,名称varchar200,类varchar200,原因varchar200

我在尝试使用mysql Workbench时也遇到了同样的问题,因为它提供了执行时间,但每当数据较大时,与mysql服务器的连接就会失败

因此,由于我使用java和springboot,我为它制作了一个Api、服务和存储库,以便与数据库交互,在数据库中,我必须为每个表创建类作为实体 然后我让SpringJPA命令mysql扫描所需的数据库,我使用nanosecond java库计算时间差,并将其转换为秒。事情进展得很顺利。我知道,由于spring jpa在我执行调用以运行扫描和mysql数据库实际扫描之间增加了一些额外的时间,但我认为这是可以忽略不计的

所以,也许你可以在你喜欢的语言或框架中做同样的事情

试试这个:

set profiling = 1;
select count(*) from datatable where a = 1;
show profiles;
假设列a上没有任何索引,这将强制进行完整的表扫描,并且只返回一行,数据传输的开销最小