Lately in the MySQL community, we only hear about scalability or performance improvements of storage engines, but nothing about query engine itself. For example, one classic example being InnoDB; if[...]
In How to tune MySQL’s sort_buffer_size, Baron gives a condescending viewpoint on how to tune the sort_buffer_size variable in MySQL. In a much-nicer-nutshell, his advice is “do not change sort_buffer_size from the default.”
Baron did not explain the logic behind his reasoning, he handwaves that “people utterly ruin their server performance and stability with it,” but does not explain how changing the sort_buffer_size kills performance and stability. Regardless of how respected and knowledgeable the source, NEVER take any advice that tells you what to do or how to do it without understanding WHY.
This article will explain the “why” of Baron’s point, and it will also talk more about understanding why, an integral part against the “Battle against any guess.” Baron’s recommendation to leave …
[Read more]
TO_DAYS() prunes two partitions instead of one
If you are partitioning by date, chances are that you are using
TO_DAYS(). And depending on how you have partitioned
your table, your queries are as fast as you expect them to be.
However, there are cases where your query takes twice as long as
it should, and of course this will not make you happy.
For example, in a table partitioned by month, when …
Forecasting Oracle Performance
Forecasting Oracle Performance. By Craig Shallahamer, Apress 2007. Page count: about 250 pages. (Here’s a link to the publisher’s site). Short version: buy it and read it, but make sure you don’t rely on it alone; deepen your knowledge through other sources.
I bought and read this book because I’m interested in performance, performance forecasting, and capacity planning. I’m not interested in forecasting Oracle performance per se. However, I have noticed that there is a lot of good literature in the Oracle arena that can apply to other databases (*cough* …
[Read more]
SPJ (preview, not production ready) is a new feature allowing
some types of JOINs to be pushed down and executed inside the
data nodes! This allows for, in many cases, much faster JOIN
execution.
Now we would love to get your feedback on this new feature:
- Does what we have right now improve performance for you?
- Are there other types of JOINs we should support in order to improve performance in you application (currently only eq_ref is supported)?
- What application are you using?
There are some limitations currently:
- node failure handling of SPJ is not complete, so if a data node crash, there are side-effects.
- only eq_ref is supported - other JOINs are executed as normal.
- Don't put this in production.
Obtaining the MySQL Cluster SPJ preview version:
- You must know how to build MySQL Cluster …
A special extended edition of Tech Messages for 2010-04-15 through 2010-04-24:
-
The Onion Uses Django, And Why It Matters To
Us
I love Django too. - Open Source Network Monitoring and Systems Management - Zenoss Blog: No Node Left Behind: Datacenter Barometer: BitNami Simplifies Stacks
-
mysql-cacti-templates
Offers complete templates and a method for adding your own. Highly recommended. -
Increase maximum size of PST files
Microsoft Outlook …
This is the third and final article in a series about group commit in MySQL. The first article discussed the background: group commit in MySQL does not work when the binary log is enabled. The second article explained the part of the InnoDB code that is responsible for the problem.
So how do we fix group commit in MySQL? As we saw in the second article of this series, we can just
eliminate the prepare_commit_mutex from InnoDB,
extend the binary logging to do group commit by itself, and that
would solve the problem.
However, we might be able to do even better. As explained in the first article, with …
[Read more]This is the second in a series of three articles about ideas for implementing full support for group commit in MariaDB. The first article discussed the background: group commit in MySQL does not work when the binary log is enabled. See also the third article.
Internally, InnoDB (and hence XtraDB) do support group commit.
The way this works is seen in the innobase_commit()
function. The work in this function is split into two parts.
First, a "fast" part, which registers the commit in memory:
trx->flush_log_later = TRUE;
innobase_commit_low(trx);
trx->flush_log_later = FALSE;
Second, a "slow" part, which writes and fsync's the commit to disk to make it durable:
trx_commit_complete_for_mysql(trx)
While …
[Read more]This is the first in a series of three articles about ideas for implementing full support for group commit in MariaDB (for the other parts see the second and third articles). Group commit is an important optimisation for databases that helps mitigate the latency of physically writing data to permanent storage. Group commit can have a dramatic effect on performance, as the following graph shows:
The rising blue and yellow lines show transactions per second when group commit is working, showing greatly improved throughput as the parallelism (number of concurrently running transactions) increases. The flat red and green lines show transactions per second with no group commit, with no scaling at all as parallelism increases. As can be seen, the effect of group commit on …
[Read more]
Oracle managed to score a major victory last week at the MySQL
Conference by announcing performance gains of 200-360% in the
forthcoming version 5.5. This is a tremendous
improvement and comes in part due to closer collaboration between
what were historically two distinct (and occasionally
competitive) groups: the InnoBase team and the MySQL Server
team. Bringing the InnoBase team under the direction of the
MySQL Server team under Tomas Ullin is a great benefit not only
to MySQL developers, but also for MySQL users. No doubt
these performance gains are a result of many months of hard work
by not only Tomas, but also a good number of folks on both teams
including guys like Mikael Ronstrum, Kojstja, Calvin Sun and
others.
Reaction to the new release has been positive in the community
from the likes of …