by Vadim Tkachenko | Jun 6, 2007 | Insight for DBAs
Just short message that patch enables microsecond resolution in slow-log (see more https://www.percona.com/blog/2006/09/06/slow-query-log-analyzes-tools/) for 5.0.37 is available here: www.percona.com/blog/files/patches/patch.slow-micro.5.0.37.diff The patch for...
by Peter Zaitsev | May 24, 2007 | Insight for DBAs
I had this question asked many times during last week, and there is really no easy answer. There are just way too many variables to consider especially while loading large schemas with a lot of different table structures. So which variables affect the load speed:...
by Peter Zaitsev | May 21, 2007 | Insight for DBAs
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...
by Peter Zaitsev | Apr 10, 2007 | Insight for Developers
Looking at how people are using COUNT(*) and COUNT(col) it looks like most of them think they are synonyms and just using what they happen to like, while there is substantial difference in performance and even query result. Lets look at the following series of...
by Peter Zaitsev | Apr 6, 2007 | Insight for Developers
In many Search/Browse applications you would see main (fact) table which contains search fields and dimension tables which contain more information about facts and which need to be joined to get query result. If you’re executing count(*) queries for such result...
by Peter Zaitsev | Mar 26, 2007 | Insight for Developers
Working with various projects using MySQL I observe a lot of problems are coming from very simple fact – product is designed containing features which developers do not know how to implement effectively. In many companies you would see “waterfall”...
by Peter Zaitsev | Mar 23, 2007 | Insight for DBAs
During last couple of months I had number of consulting projects with MySQL Query Cache being source of serious problems. One would see queries both for MyISAM and Innodb tables mysteriously stalling for few seconds with “NULL” in State column. These could...
by Peter Zaitsev | Mar 7, 2007 | Insight for DBAs
Today I was cloning the master using LVM Snapshot and found it was taking quite a while to catch up, which highlighted replication could be the limiting factor for this system quite soon, so I decided to check what is limiting MySQL Replication speed. My first idea...
by Peter Zaitsev | Mar 6, 2007 | Insight for Developers
Last few days I had a lot of a lot of questions at MySQL Performance Forum as well as from our customers regarding query optimization… which had one thing in common – It is not query which needed to be optimized. Way too frequently people design schema...
by Vadim Tkachenko | Feb 25, 2007 | Insight for DBAs
We often recommend to our clients to convert their current database from MyISAM tables to InnoDB. The transfer by itself in most cases is almost plain, however the application can be broken by new unexpected errors 1205 (ER_LOCK_WAIT_TIMEOUT) Lock wait timeout...
by Vadim Tkachenko | Jan 9, 2007 | Insight for DBAs
I just want to write few tips how to get MySQL from development BitKeeper tree, as there are several tricks. First of all you need a fresh free client – bk-client2.0 http://www.bitkeeper.com/Hosted.Downloading.html . Once you get it, you can clone latest tree:...
by Peter Zaitsev | Dec 29, 2006 | Insight for DBAs
As you might noticed there are no recent MySQL Community versions available for download from MySQL Download Area This applies both to binaries (which is expected with new polices) but also to the source files which were promised to be available. So what is if you...
by Peter Zaitsev | Dec 20, 2006 | Insight for Developers
This topic may look boring and obvious but it is extremely important for MySQL Performance Optimization. In fact I probably have to touch it in every second MySQL Consulting work or even more frequently. IO Bound workload is quite different from CPU bound one, which...
by Peter Zaitsev | Dec 4, 2006 | Insight for DBAs
Linux and Unixes have excellent metric of system load called “loadavg”. In fact load average is is 3 numbers which correspond to “load average” calculated for one five and 15 minutes. It is computed as exponential moving average so most recent...
by Peter Zaitsev | Nov 27, 2006 | Insight for Developers
In the past life was easy in MySQL. Both CHAR and VARCHAR types meant the same, only being difference in the sense of fixed or dynamic row length used. Trailing spaces were removed in both cases. With MySQL 5.0 however things changed so now VARCHAR keeps trailing...
by Peter Zaitsev | Nov 16, 2006 | Insight for DBAs
Running RPM based or other packaged MySQL Binary you may have a problem if you would like to rebuild binary for some reason – change some build settings, apply some third party patches or simply try latest snapshot (This time I was both applying patches for...
by Peter Zaitsev | Nov 12, 2006 | Insight for Developers
One think I can see with people using EXPLAIN is trusting it too much, ie assuming if number of rows is reported by EXPLAIN is large query must be inefficient. It may not be the case. The question is not only about stats which may be wrong and which is why you may...
by Peter Zaitsev | Oct 30, 2006 | Insight for Developers
I’ve run into the following thread couple of days ago: Basically someone is using sphinx to perform search simply on attributes (date, group etc) and get sorted result set and claiming it is way faster than getting it with MySQL. Honestly I can well believe it...
by Peter Zaitsev | Oct 16, 2006 | Insight for DBAs
This is interesting question which I thought it would be good to write about. There are obviously benefits and drawbacks for each of methods. Smaller applications usually start with single server which has both MySQL and Web server on it. In this case it is not...
by Peter Zaitsev | Oct 3, 2006 | Insight for DBAs
I’ve written and spoke a lot about using short PRIMARY KEYs with Innodb tables due to the fact all other key will refer to the rows by primary key. I also recommended to use sequential primary keys so you do not end up having random primary key BTREE updates...