<p>I have been tasked to optimize some sql queries at work. Everything I have found points to using Explain Plan to identify problem areas. The problem I can not find out exactly what explain plan is telling me. You get Cost, Cardinality, and bytes. </p>

<p>What do this indicate, and how should I be using this as a guide. Are low numbers better? High better? Any input would be greatly appreciated. </p>

<p>Or if you have a better way to go about optimizing a query, I would be interested.</p>

You get more than that actually depending on what you are doing. Check out this
explain plan
page. I'm assuming a little bit here that you are using Oracle and know how to run the script to display the plan output. What may be more important to start with is looking at the left hand side for the use of a particular index or not and how that index is being utilized. You should see things like "(Full)", "(By Index Rowid)", etc if you are doing joins. The cost would be the next thing to look at with lower costs being better and you will notice that if you are doing a join that is not using an index you may get a very large cost. You may also want to read details about the
explain plan columns
.