How to prevent locking and possible performance issue I'm working on a website that lets users and admins to generate reports, and those reports require many database queries - they can take over one minute to complete. I noticed when these reports are being generated, the website might freeze for all its users.

These reports consist basically of SELECT queries, i.e., they don't update or insert anything into the MySQL database.

How do you guys implement intensive database operations such as report generations in production environments?
Don't use MyISAM; use InnoDB.  (to avoid "table locks")
Build and maintain Summary tables.  (often 10x faster)
Let's see the slow queries; maybe they can be improved.