1. A method for use in a database system having plural access modules, comprising: receiving a database request; dispatching, by database software executed on one or more processors, steps associated with the database request to one or plural access modules of the database system for execution; collecting statistics, by a synchronous monitor executed on the one or more processors, regarding execution of each step by a respective access module, wherein the synchronous monitor is triggered to collect the statistics in response to receiving an indication of completion of each step by the respective access module, wherein the synchronous monitor does not collect the statistics regarding execution of each step until the synchronous monitor is triggered in response to receiving the indication of completion of each corresponding step, wherein the statistics collected by the synchronous monitor include plural statistics selected from among CPU time consumed to perform each corresponding step, a count of input/output cycles involved in each corresponding step, and a number of rows of a table generated in execution of each corresponding step; collecting statistics, by an asynchronous monitor executed on the one or more processors, regarding execution of the steps by the one or plural access modules prior to completion of the execution of the steps by the one or plural access modules; determining whether statistics collected by the synchronous monitor or asynchronous monitor relating to execution of the database request violate one or more predefined rules; and in response to determining that the statistics relating to execution of the database request violate one or more predefined thresholds, performing one or more actions by the database software.