MySQL’s version-specific conditional comment syntax confused me for the longest time. Then I learned about printf formatting rules, and it all became clear. Read on if you don’t already know what I mean. First I’ll explain what I’m talking about. MySQL allows specially formatted comments with a server version number embedded in them. Servers newer than the version number will execute the commented-out code, and older servers won’t. This is really useful sometimes.
Need I say more? Go download the slides, video and audio from the 2007 MySQL Users Conference & Expo. I have no plans to take anything down, so please download wisely, and take only what you need. If there’s demand, I can make higher-quality versions available. I can also burn DVD’s of the content if that’s desired.
Enjoy!
There is a popular myth about the SQL GROUP BY
clause. The myth holds that 'standard SQL' requires columns
referenced in the SELECT
list of a query to also
appear in the GROUP BY
clause, unless these columns
appear exclusively in an aggregated expression. MySQL is often accused
of violating this standard.
In this article I will attempt to debunk this myth, and to
provide a more balanced view regarding MySQL's treatment of
GROUP BY
at the same time.
To do that, I will first demonstrate that MySQL can be instructed
to only accept GROUP BY
clauses that include all
non-aggregated expressions referred to in the SELECT
list, thus making MySQL's behaviour conform more to that of other
well-known rdbms-products.
Second, I will show that it is very important to clearly define
which …
273 people have cast their vote on the most wanted replication feature…
Cast your vote before the poll disappears:
Thinking further about Microsoft's FUD campaign to threaten patent lawsuits against customers for using Linux, I was wondering if this isn't really a result of a bigger issue facing the company: Google Envy. As I mentioned previously, Microsoft is competing on several fronts. And while they hate like hell to give up market share to open source that would threaten their cash cow Windows or Office business, the bigger issue for the company is that their core businesses are being disrupted. And Microsoft is in last place when it comes to new online businesses like hosted applications, online search, email, blogging, videos, and music. (Ok, to be fair, Microsoft has come from behind in the past in other markets like gaming and accounting software.) As is the case in many mature markets, their core …
[Read more]
I get the opportunity see a lot of different MySQL Cluster
configurations and most of them does not configure the disk
subsystem in a good way. E.g, the redo log is way to often not
correctly dimensioned. Wrongly dimensioned buffers affects system
stability!!
There are also some buffers related to communication and disk,
that is important to setup. At the end here you will find a good
configuration template that you can use, but first we will have a
brief discussion about the disk
Configuring the disk
In MySQL Cluster, it is very important to dimension the redo log
properly in order for System restart and Node restarts to work.
In MySQL Cluster, the redo log must be large enough to accomodate
changes that happens over three Local Checkpoints (LCP). When the
third LCP has been written, then the redo log can be recycled.
The LCP is the image of the DataMemory which is written to disk,
so if you …
Well this is going to be a short blog post that will not really manage to summarize all the experience on my San Francisco, Santa Clara, San Francisco, Austin, Tampa, Boston, Chicago, Zürich, Berlin, Güstrow, Berlin, Zürich round trip I was on for the last 4 weeks. But anyways, I wanted to mention that the slides from php|tek are now linked in the slides section.
I did a talk on various strategies of how to bridge relational databases and object-oriented programming. In retrospect I should have submitted this as a "double feature" talk, so that I could cover more ground on the actual using of the existing packages in the PHP space.
The other talk was on database locking. I think the biggest eye opener for people in that talk was about how MVCC, found …
[Read more]I generally find MySQL Sever sufficiently tested, meaning at least minor version upgrades rarely cause the problems. Of course it is not perfect and I remember number of big issues when some releases could not be used due to behavior changes in them and when something had to be rolled back in the next release.
But generally I think MySQL is doing much better than a lot of other projects in this respect.
Major version upgrades become more painful recently. In MySQL
3.22->3.23 upgrades or 3.23->4.0 upgrades you really could
just swap binary and try out new version and if you need to get
back you just swap binaries to the old version. I think it was
great.
In MySQL 4.1 and later more caution is required because you could
screw your data, for example by specifying utf8 as default
character set together not to mention infamous timestamp format
change which forced to change a lot of applications.
MySQL 5.0 added more …
I know Alexa is very controversial and we don't like to compare
with Flickr, but...
Blue: Fotolog
Red: Flickr
Green: Bebo
We reached 8 million members recently (7 weeks from 7 million)
and are currently ranked 18th on Alexa (yeah, I know it jumps
around :)).
I added bebo because rumor is that Yahoo! wants to grab it for a
cool billion.
The value of timely information regarding maintenance releases, including specific information of what bugs have been fixed and when and where to get the upgrade, proves very compelling for those DBAs and developers with little to no bandwidth. The good news is MySQL Enterprise takes the guesswork out of deciding which version of the MySQL server you should be running by providing regularly scheduled Monthly Updates and quarterly Service Packs for the Enterprise Server.