What’s the plan? (continued)
In May I wrote ‘What’s the plan?’ showing how to look at your SQL plans. We’ve now made it even simpler using our new, browsable Catalog Report.
The Catalog Report is generated when you compile the catalog. It is available in the current working directory as catalog-report.html and is also available from the running database as the default page at http://<yourserver>:8080 . It shows information about the DDL, the stored procedures, their SQL statements — and how all these parts link together. On a running server, it can also show you some information about the running system.
As VoltDB CEO Bruce Reading likes to say, it is ‘full of yummy goodness’!
Browsing the Catalog Report
Open the catalog report in a browser and you’ll see an Overview page and additional section headings on the top that describe parts of the catalog. When browsing a running system, the Overview page also shows a System Overview, a Memory Report and has links to VoltDB Studio.
Click on Schema to see a list of the tables as well as basic information about their construction. Click on a table name, and it will expand to show more detailed information about its definition, including indexes and which stored procedures use the table.
Click on a stored procedure, and it takes you to the Procedures & SQL page. Click on one of the procedures to see its statements and click on a statement to see its plan. This information has links back to tables and indexes on the Schema page.
I’ve got the plan, now what?
Reviewing your VoltDB execution plans can provide valuable insight into how well and how fast your queries will perform. For example, single-partition queries can be parallelized, whereas multi-partition queries cannot. Additionally, if you see that your query performs a full table scan (i.e. it visits every row in the table), you may want to optimize it by defining additional indexes. This is the type of information now readily available in the VoltDB Catalog Report.
If you have a suggestion for more information in this report, please post it in the Managing VoltDB forum. We’d love to hear from you!