Intelligent SQL tuning with or without touching your source code
It is not another SQL Tuning Tool
There have been already a lot of SQL tuning products in the market providing better query plan visualization, better statistics analysis, high cost query plan steps indication or even rule-of-thumb syntax recommendations. All in all, those tools are not helpful if users don’t have in-depth SQL tuning knowledge and are not willing to spend extra effort to tune a SQL apart from their daily duties. Users are eager for one-button-solution tool that can tune a SQL statement automatically without the need of users’ intervention. Tosska SQL Tuning Expert Pro is an innovative product that can accept a bad performance SQL statement and give a better solution just by users’ multiple easy points and clicks.
Introduction to Tosska SQL Tuning Expert Pro for Oracle
Tosska SQL Tuning Expert Pro is a tool for users to improve SQL performance without touching their program source code. Furthermore, users can even deploy different performance query plans for various sizes of production databases without the effort of keeping multiple versions of the program source, it is especially suitable for package application users who don’t own the source code of their applications. For application developers, SQL tuning becomes easier than ever before, a problematic SQL statement can be improved without going through the time-consuming unit test, integration test and program implementation required in software development cycle. Apart from the intelligent SQL tuning features, a powerful indexes recommendation function is also provided to help users to review and explore more potential indexes that are helpful but may be missing in current database schema.
How to tune SQL when you can’t edit the source code?
What would you do with the following scenarios? If you are a packaged application user, how can you tune your SQL if you can’t edit a query directly? Or, if you are an application developer, you want to have a quick fix on SQL performance but without the time to go through source code change and unit test. There are multiple features provided by Oracle such SQL Profiles, SQL Plan Baselines and SQL patch that you can use to tell Oracle to fix a SQL’s query plan. But the use of these features is limited by Hints injection only, you cannot rewrite a SQL with different syntax and ask the original SQL to accept a rewritten SQL’s query plan. So, hints-based SQL tuning is becoming more important than ever before. Tosska SQL Tuning Expert Pro is the only tool that can provide the most advanced Auto-Hints-Injection solution in the market to fully automate the process from SQL tuning to plan deployment.
Common SQL tuning approach – change SQL in program source code
Developers are used to tuning SQL statements by rewriting or applying hints to the SQL text to influence database SQL optimizer to generate a better query plan for the SQL statement. A tuned SQL statement has to be placed back to the program source and necessary testing has to be carried out before software deployment. It is a time-consuming and error-prone process.
New SQL tuning approach – SQL tuning without touching your source code
The ideal approach is to detach SQL performance from the program source code, so database developer can manage the SQL performance without touching the source code. Imagine if you have one source that must be deployed to different sizes of databases, some databases may be running well, but some others may not be performing as expected. With Tosska latest Auto-Hints-Injection technology, a SQL statement can be tuned by SQL Patches or SQL Plan Baselines with our hint injection technology without the need of changing the source code. So, different sizes of databases can use different SQL Patches/Plan Baselines for specific database performance tuning purpose.
SQL performance should now be detached from application source code, the SQL performance should be manageable to deploy and rollback anytime, anywhere. It should also be tailorable for one source SQL code to fit different sizes of databases. Hints-based SQL tuning will be the key to unlock the potential power of SQL performance management for Oracle databases and it is becoming more important in modern database SQL tuning process. Tosska SQL Tuning Expert Pro for Oracle is an innovative tool that can automate the process of generating Hints to improve a SQL’s performance and create SQL Patches or SQL Plan Baselines for the injected hints without touching the source code.
Ad-hoc SQL tuning becomes easier
Some SQL statements may be executed with sudden high volume of data periodically such as month-end or year-end processes. If Oracle database optimizer cannot generate a good plan immediately, the process may be prolonged and the business be affected. So, preventative measurement should be carried out before the SQL statements are executed, better query plans controlled by SQL patches for those SQL statements should be deployed/enabled before starting the processes. Users can disable/drop those SQL patches after the processes are finished and resume those query plans back to the normal status for better daily operations.
How Tosska SQL tuning works?
With Tosska SQL tuning technology, users can streamline their SQL tuning process in one product without the need to touch their programs’ source code. Users can paste their problematic SQL statements and press button, an Automatic Hints Injection process will be executed to look for potential better query plans that the SQL statement should have, but it is not selected by Oracle SQL optimizer. The best query plan will be shown on the summary page after the benchmarking with the original SQL statement. The speed of original SQL statement will be improved automatically after deploying the SQL Patch with the original SQL text. Oracle SQL optimizer will use the new plan of the deployed SQL patch next time while receiving the same SQL statement. So, users don’t have to modify their program sources to solve the SQL performance problems.
For example; the following SQL statement took 8.32 seconds to finish.
After SQL tuning by Tosska SQL Tuning Expert Pro, the following Hints injection is found to improve the SQL statement upto 99.26%. What users have to do is to deploy the SQL Patch with original SQL statement to the database; and there is no need to modify any source code.
The same SQL is executed again in SQL Plus, now the execution time is cut down to 0.07 seconds after the deployment of the SQL Patch. There is no need of changing any source code or program installation in production database.
Intelligent workload-based index advisor
It is an intelligent and cost-aware index advice engine that helps users to review their existing database schema if there are any new indexes which can help to improve a given SQL workload. The engine can handle up to thousands of SQL statements and give you a reasonable recommendation that even human experts cannot achieve. Users can review those new indexes and the affected SQL statements side by side. Furthermore, the SQL statement’s workload is also catered during indexes advice processing, a SQL executed many times will be weighted higher to match its daily workload contribution. The indexes advice results are listed from using fewer indexes to more indexes, users can select the cost-effective indexes recommendation without incurring too much overhead to their databases.