MySQL Query Optimisation Service
Here at Codeface we love a challenge. We've faced down a few scary-looking MySQL queries over the years, but we've yet to meet one that didn't roll over and let us tickle its tummy with our powerful arsenal of MySQL query optimisation techniques. If your site is running slow and you suspect it's database queries that are the bottleneck, get in touch with us at our Brighton and Hove office and we'll get you back on the road to low server load, a speedy website and happy users.
Meet the Optimisers
Codeface is a team of expert programmers with many years of experience writing and optimising MySQL queries.
Here's how our MySQL query optimisation service works:
- Contact us, show us the offending query in action and send us a copy of the SQL code and some key metrics about the tables involved in the query.
- We'll give you a fixed-price quote for improving the query.
- At this stage we may need you to provide some realistic sample data for us to work with. We can guide you through taking a snapshot of your database and removing any confidential or personal information; or we can create sample data based on information you provide.
- We'll recreate the problem in a controlled test environment, and work out exactly what's going on and what can be done to improve matters.
- Next, we'll assemble a new query (or queries) that do exactly what you wanted, but faster.
- Using a set of cunningly designed unit tests, we'll ensure that the new queries are giving exactly the same results as the originals.
- We'll send you the new version of the offending query, plus any additional PHP/Java/Ruby code to improve the performance of your site.
It's rare to find a query that we can't do anything about. Different situations require different approaches...
Different approaches to query optimisation
We specialise in looking for optimisations that can be easily fitted to your website with minimal hassle, for example:
- Adding indexes to a column or appropriate combination of columns can make an astonishing difference to the speed of a query. As part of our optimisation service we'll review your tables and check they're indexed appropriately. This can result in some quick wins in cases where indexing hasn't been given due consideration.
- Some SQL queries can be rewritten in a different order or given a different structure, giving exactly the same results but much more quickly
- In some cases a query is better broken down into two or more separate queries.
- In certain situations it makes sense for a key query to have its output cached in the containing website code - for example if a query is non-trivial to execute, but the results don't change very often.
- There are some situations where we may recommend you change certain MySQL configuration settings to improve performance. In these cases we can guide you through the exact steps needed to optimally configure MySQL.
As well as MySQL, we're experts in Java, Ruby on Rails and PHP, so we're able to take a holistic approach to sites developed using these technologies and make recommendations about the overall approach being used.