Greetings from the Southern Hemisphere.
The World tour proceeds as planned, although with
some added tasks in the meantime. The solution to the quiz announced from North America is now given
from Australia. (Boy! I love the global village!)
The task was to create a series of three triggers, all associated
to the same table for the same event (BEFORE INSERT). If you had
a look at the manual, you would know that you can't set multiple
triggers for the same event. However, there is a workaround,
using the Federated engine. The solution to the quiz was already
available as a comment to a bug report. My intended solution, very similar
to the one provided by the …
Normally, I don't do rants. But now I feel compelled to debunk
the - IMO - downright slanderous post entitled "14 reasons not to use MySQL
or other mid-range database management systems" by Curt
Monash - an otherwise seemingly un-offensive blogger.
Anyway - here's my maybe somewhat emotional analysis. But really,
this post is a load of cr*p! I mean, more than half of the
"reasons" are not even about MySQL (as in the database - not the company), and
the other aren't even reasons.
Judge yourself.
Many enterprises get quantity discounts. License and in some case
even maintenance fees may not be bad at all.
You make it seem like this is an advantage! With MySQL,
*everybody* gets a volume discount. We don't care if you're big
or small, if you need many MySQL servers …
So you have created your standby database using the RMAN DUPLICATE command, you have set the ARCHIVE_LAG_TARGET to maintain a minimum lag target, and you have sorted out those nasty datafile missing errors using automatic file management. You’ve even added standby redo logs to improve the Mean Time To Recovery (MTTR). Now management are demanding [...]
In about a week, I get to travel 30 hours to attend a wedding in the middle of Nowheresville, Australia (near Toowoomba). While I'm there, I've volunteered to speak at the MySQL Meetup in Brisbane. I've heard others say that "Australians are a pretty tough audience to please", and I tend to agree; there's a certain bluntness to the way we deliver questions. I think I'll have to listen to some Eye of the Tiger to warm up for it.
I’ll be attending the 2008 MySQL Conference and Expo again this year, and I’m looking forward to hearing some great sessions, meeting new and old friends, and giving sessions myself. As a proposal reviewer, I looked at and voted on 250+ proposals for sessions and tutorials for this conference. There are going to be some great sessions and tutorials.[1] If you haven’t come to the conference previously, it’s well worth your time and money, in my opinion.
Some time ago I have shown that the proxy can do connection pooling and can keep server-side connections open to be reused by another client later. The keepalive tutorial shows how this can be implemented.
When it comes to reusing a server-connection for multiple client connections we have to face a small problem:
SQL connections aren't stateless (temporary tables, session variables, ...)
We have to handle this somehow.
When you use this feature the proxy will clean up for you by
default, by issuing a COM_CHANGE_USER as the first
command that is sent to the server. It basicly resets the
connection and re-authenticates the user. You always get a clean
environment and can't really tell that the server-side connection
was open all the time.
But you don't really win performance either. A small benchmark shall give you an idea.
# connecting the client to the server ... 11:58:41.241956 …[Read more]
Really often in customers' application we can see a huge tables with varchar/char fields, with small sets of possible values. These are "state", "gender", "status", "weapon_type", etc, etc. Frequently we suggest to change such fields to use ENUM column type, but is it really necessary (from performance standpoint)? In this post I'd like to present a small benchmark which shows MySQL performance when you use 3 different approaches: ENUM, VARCHAR and tinyint (+joined table) columns.
In practice you can also often use 4th variant which is not comparable directly, which is using integer value and having value mapping done on application level.
So, first of all, a few words about our data set we've used for
this benchmark. We have 4 tables:
1) Table with ENUM:
PLAIN TEXT SQL:
- CREATE TABLE cities_enum (
- id int(10) UNSIGNED NOT NULL AUTO_INCREMENT, …
Solid has released solidDB for MySQL 5.0.51-0081. There are a significant number of bug fixes in this release. For the full detailed list of bug fixes and enhancements, please see the ChangeLog. The download is at http://dev.soliddb.com/download
Jeff Gould has written an excellent piece on the big question arising from Sun's acquisition of MySQL: how will Sun make enough money on the deal to justify the $1 billion valuation? Gould's analysis is generally solid, but he misses a few key points.
First off:
Only time will tell. But in my humble opinion, MySQL's open source business model will make Sun's road to payback a lot steeper than if it had bought a software company with conventional revenues and profits.
Ah, the good old days! Just one problem: those days are gone. Pining for an acquisition of the old way of selling and distributing software is like pining for Mayberry: you can want it, but those days are never coming back. VCs aren't investing in proprietary Mayberry anymore. Except …
[Read more]
EXT3 has performance problems as the filesystem gets
fragmented-although this is counter intuitive to the design of
EXT3-fragmentation really happens.
Really there is no safe de-fragmenter tool out there for ext3.
There is this one but I will not use it.
Fragmentation can get so bad that performance from EXT-3 can drop
7 fold!!
Here is some good info on fragmentation and a comparison
of various other file systems.
Now for filefrag, I use this to see how bad an innodb file is
fragmented.
TABLE.ibd: 4020 extents found, perfection would be 298
extents
Our wiz of a system administrator Kevin M., who I am teaching to
become a mySQL DBA got me hooked on this utility: and he came up
with a good …