  Database query performance problem determination is often performed by
analyzing query execution plans (QEPs) in addition to other performance data.
As the query workloads that organizations run, have become larger and more
complex, analyzing QEPs manually even by experts has become a very time
consuming. Most performance diagnostic tools help with identifying problematic
queries and most query tuning tools address a limited number of known problems
and recommendations. We present the OptImatch system that offers a way to (a)
look for varied user defined problem patterns in QEPs and (b) automatically get
recommendations from an expert provided and user customizable knowledge base.
Existing approaches do not provide the ability to perform workload analysis
with flexible user defined patterns, as they lack the ability to impose a
proper structure on QEPs. We introduce a novel semantic web system that allows
a relatively naive user to search for arbitrary patterns and to get
recommendations stored in a knowledge base either by experts or added by the
user tailored to the environment in which they operate. Our methodology
includes transforming a QEP into an RDF graph and transforming a GUI based
user-defined pattern into a SPARQL query through handlers. The SPARQL query is
matched against the abstracted RDF graph, and any matched portion of the
abstracted RDF graph is relayed back to the user. With the knowledge base, the
OptImatch system automatically scans and matches interesting stored patterns in
a statistical way as appropriate and returns the corresponding recommendations.
Although the knowledge base patterns and solution recommendations are not in
the context of the user supplied QEPs, the context is adapted automatically
through the handler tagging interface.
