Unsupported Screen Size: The viewport size is too small for the theme to render properly.

Sql Queries

forums forums Monyog Monyog Comments Sql Queries

  • This topic is empty.
Viewing 2 reply threads
  • Author
    Posts
    • #12283
      Johnkhan
      Member

      I just downloaded the free trial of your software – I was under the impression that I could capture SQL queries in real time.I am using a php/mysql app which dynamically creates queries depending on which part of the application is being used.I am noticing that there is a slowdown when using a particular component of this web app, and I want to use your tool to tune the database. I do this on a regular basis in our Microsoft SQL environment, and I came across your tool.

    • #32078
      Mahesh
      Member

      The Query Analyzer feature of MONyog helps you identify problem SQL. MONyog can find problem SQL by one or more of the following methods:

      * Taking SHOW PROCESSLIST snapshots at regular intervals (using MONyog Sniffer)

      * Using MySQL Proxy to collect profiling data (using MONyog Sniffer)

      * Parsing Slow Query Log and General Query Log (using MONyog Log Parser)

      There are several advantages and disadvantages of each approach.

      SHOW PROCESSLIST is available in all MySQL versions and it is the easiest to setup. However, taking a snapshot of SHOW PROCESSLIST does not guarantee that all queries will be captured. Many short-lived queries can be missed between two successive snapshots. It is a quick and easy way to find long running queries.

      Log parsing requires some additional setup. Also, switching on the General Query Log puts a significant amount of load on the server. You should always keep the Slow Query Log switched on. Parsing the Slow Query Log is an effective way to find bad queries.

      Using MySQL Proxy gives you the most accurate information on profiling SQL. However, during profiling you have to configure your clients to connect to MySQL Proxy, which in turn connects to MySQL server. Using MySQL Proxy ensures that all queries are profiled. It helps you to find problematic queries that don't take much time, but are executed thousands of times. Eliminating such queries can significantly improve the performance of your application.

      To use the MONyog Query Analyzer functionality for a specific server, the server 'general query log' or 'slow query log' details must be configured in 'Connection Settings' or a 'query sniffer' must be enabled for that server.

      Using the above tools to find problem SQL is almost always a post-mortem excercise. In certain situations you may want real-time notifications for long-running queries. MONyog can continuously monitor queries in real-time and send notifications (on mail or SNMP) for queries that take more than a specified amount of time to execute. You can also specify an option to kill such queries instantly.

      Note: The MONyog Sniffer taking snapshots of SHOW PROCESSLIST is different from the the Processlist feature in that the Sniffer retains the information retrieved in a database for generation of reports and further analysis, whereas the Processlist feature just displays that information as is, without manipulating or storing it.

      After identifying the problematic queries you have to make sure that proper index technique has been applied, proper datatypes has been used etc..

      BTW: SQLyog (MySQL GUI another popular product from Webyog) does have a feature named “Query Profiler” which will help you to profile queries.

    • #32079
      william33
      Member

      The site SQL Reports has a great SQL tutorial. Highly recommended for people just getting started on SQL selects.

Viewing 2 reply threads
  • You must be logged in to reply to this topic.