You seem to have a Data Warehouse application and your "reports" are causing trouble. It sounds like you are using MyISAM, which does "table locks" -- This is probably the cause for being "stuck" during a report.
Instead of a staging table that contains the entire copy of the data, simply have the 'new' record waiting to be processed.
Instead of running Reports directly from the entire 'raw' ("Fact") table, run Reports from Summary Tables. This is (1) much faster (often 10x faster for the report), and (2) avoids getting "stuck".
It might be advisable to do the summarization from the staging table. This would leave the Fact table virtually untouched, other than for writing data to it. In which case, you don't need, and should not have, many indexes on the Fact table. (Indexes slow down ingestion.)
I discuss details on how to achieve these tasks in
Since DW applications tend to be rather different, you might want to elaborate further on your app. Then I can be more specific in my advice.