Finding slow SQL statements
Two main kinds of slowness can manifest themselves in a database.
The first kind is a single query that can be too slow to be really usable, such as a customer information query in a customer relationship management (CRM) system running for minutes, a password check query running in tens of seconds, or a daily data aggregation query running for more than a day. These can be found by logging queries that take over a certain amount of time, either at the client end or in the database.
The second kind is a query that is run frequently (say, a few thousand times a second) and used to run in single-digit milliseconds (ms) but is now running in several tens or even hundreds of milliseconds, hence slowing the system down.
Here, we will show you several ways to find statements that are either slow or cause the database as a whole to slow down (although they are not slow by themselves).
Getting ready
Connect to the database as the user whose...