JDBC SQL Profiler is a Swing-based GUI tool to recommend database index creation.
Version: 0.3JDBC SQL Profiler is a quickly hacked tool to do statistics on SELECT queries in order to know where it is most efficient to create indexes.
License: The Apache License
Operating System: Linux
This small tool, released under an Apache-based license connects to the P6Spy JDBC logger and displays in real time the queries going to the database. It uses an integrated SQL parser to build statistics on the most accessed tables and columns and can generate SQL index creation files.
Other information is also gathered and displayed, such as the request time for a single request, for a class of request, and for all the requests. Sorting may be done on these views to detect database problems efficiently.
This tool can be very useful when you have a big volume of queries that you need to analyze not one by one (meaning that the specific time isn't that much of interest), but rather when you want to know what "group" of queries is taking a lot of time, such as queries on the same tables and columns but with different query values. The integrated SQL parser (built with ANTLR) is used to analyze the incoming SELECT queries.
The Swing GUI was based on Apache's Log4J Chainsaw, but all the bugs are mine. Also contributors are welcome to test, make new suggestions, give their opinion and submit patches.