What is the MySQL version? OS? What is innodb_buffer_pool_size? How much RAM is used by other processes?
Then please ...
(i) post the result of ...
ifnull(engine,'TOTALS') as engine,
concat(data,' GB') as data,
concat(indexes,' GB') as indexes,
concat(tot,' GB') as total,
if(engine is null,-1,tot) as ord
round( sum(data_length)/1024/1024/1024, 2 ) as data,
round( sum(index_length)/1024/1024/1024, 2 ) as indexes,
round( sum(data_length+index_length)/1024/1024/1024, 2 ) as tot
where engine is not null and engine not in('information_schema','performance_schema')
group by engine with rollup
order by list.ord desc;
(ii) post the results of running these queries in the mysql client program ...
show global status;
(iii) post the result of this OS cmd ...
(iv) post the result of Show Create Table for the slow table.