SQL Optimization Project for Joomla CMS
Joomla CMS being one of the top Content Management Systems in the world, we need to consider more about improving the speed of Joomla CMS. The major focus of my GSoC project is to ensure that the overheads in database interactions are reduced and improving the speed of Joomla CMS.
As a trusted and famous Content Management System, Joomla needs a way to perform better and better to be in the topmost position. To achieve the above goal I believe Joomla needs to run faster than it does now. To do so we need to identify the areas which degrade performance in a significant way. One such area is database access and database queries which scan and process a large number of data.
When thinking about this project: “SQL Optimization”, the main concern is database access and the queries for retrieving data from the database. The major goal is to identify the critical spots, where the database queries have been written in such a way that it takes a lot of time for scanning and also for processing the results before it delivers the output for the query. In this project I am going to focus on such areas and identify the queries which are slow and can be rewritten to provide the same result and much better performance.
When there is a small amount of data we cannot identify such performance issues of the queries, and also they can perform worse when we go to the site deployment with large amounts of data. In my project scope I am going to analyze such scenarios and identify the queries which consume a lot of time to provide the result.
As the outcome of my project I am going to rewrite those time consuming queries in such a way that they behave much more efficiently than now, and provide the same result without affecting the structure and the overall performance of the system.
During the implementation I am going to analyze the query performance of each of the components and modules. Based on the results of this analyzis I am going to determine what is degrading the performance. Such reasons may be:
- inefficient/ineffective query writing
- need of databse indexing mechanisms
- unnecesarry calculations in modules' or components' code base
After determining the reasons I am going to rewrite the queries, and re-engineer the module or component code in such a way that it produces the same output as earlier.
Finally, as the sole outcome of this project, I hope it will help to improve the performance of Joomla CMS considerably.