So i am currently tasked with tuning the performance of a rather large report, generated by my application.
I wager I will have to solve this with using a materialized view, but that is not entirely the point. I observed something curious, I realized I did not understand, so I thought I would ask here.
When I tell my application to create the report, I can prefilter the data. For smaller datasubsets (Like only last 30 days) it works, but a bit slower than expected. When I run the report on all of my data (which I eventually want to do), the application stays at "connecting..." in the browser. I have never been able to get the full report to work, but I have never tried for longer than a couple of hours.
However, when I just realized that I did all my tuning work and whatever on my database, while the report was trying to run in my application. I did not notice ANY slowdown in the database, and I can perfectly work with the data.
So at this point I probably dont understand databases as well as I would like. Can they run multiple queries at once? Because in my naive understanding I am wondering, whether the database should not freeze as well if the application is running a large query on it.
I am using mysql 5.5.