by Peter Zaitsev | Dec 28, 2006 | Insight for Developers
MySQL has two ways to find tune execution of particular query. First is MySQL Hints, such as SQL_BIG_RESULT, STRAIGHT_JOIN, FORCE INDEX etc. You place these directly into the query to change how query is executed for example SELECT STRAIGHT_JOIN * FROM A FORCE...
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 17, 2006 | Insight for DBAs
In query examinations it is often interesting which columns query needs to access to provide result set as it gives you ideas if you can use covering indexes to speed things up or even cache some data by denormalizing tables. So far it has to be done manually –...
by Vadim Tkachenko | Nov 14, 2006 | Insight for DBAs
I was pretty busy last month with project which will be annonced very soon (I hope), but I can’t miss bug fix of my favorite bug 15815. I wrote about this problem before and also investigated in my presentation. Finally bug fix was pushed into 5.0-bk tree and...
by Peter Zaitsev | Nov 12, 2006 | Benchmarks, Insight for DBAs
Today I noticed one of server used for web request profiling stats logging is taking about 2GB per day for logs, which are written in MyISAM table without indexes. So I thought it is great to try how much archive storage engine could help me in this case. Original...
by Peter Zaitsev | Nov 12, 2006 | Insight for Developers
As you probably know PHP “mysql” extension supported persistent connections but they were disabled in new “mysqli” extension, which is probably one of the reasons some people delay migration to this extension. The reason behind using persistent...
by Peter Zaitsev | Nov 9, 2006 | Insight for DBAs
As you can read from my Innodb Architecture and Performance Optimization presentation Innodb automatically manages undo area in system tablespace so you never need to care about it. I present it as positive feature reducing administration effort needed but it also can...
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 8, 2006 | Insight for Developers
Yesterday I had fun time repairing 1.5Tb ext3 partition, containing many millions of files. Of course it should have never happened – this was decent PowerEdge 2850 box with RAID volume, ECC memory and reliable CentOS 4.4 distribution but still it did. We had...
by Vadim Tkachenko | Oct 1, 2006 | Percona Software
Taking into account 4.1 tree is still popular and is used on many production servers we decided to make backport of patch to slow-log queries. The patch allows to specify time of slow queries in microseconds and is very helpful in a fight with problematic queries. 4.1...
by Peter Zaitsev | Sep 6, 2006 | Insight for Developers
This is probably well known issue for everyone having some MySQL experience or experience with any other SQL database. Still I see this problem in many production applications so it is worth to mention it, especially as it is connected to MySQL Performance. No it...
by Vadim Tkachenko | Sep 4, 2006 | Percona Events
Starting September I’m leaving MySQL to partner with Peter on practice as well as work with him on some Web projects. I really enjoyed working under Peter’s guidance while working for MySQL and it is great we now can work together as a partners. I thanks...
by Peter Zaitsev | Aug 21, 2006 | Insight for DBAs
If someone asks me about MySQL Backup advice my first question would be if they have LVM installed or have some systems with similar features set for other operation systems. Veritas File System can do it for Solaris. Most SAN systems would work as well. What is...
by Peter Zaitsev | Aug 11, 2006 | Insight for Developers
Article about database design problems is being discussed by Kristian. Both article itself and responce cause mixed feellings so I decided it is worth commenting: 1. Using mysql_* functions directly This is probably bad but I do not like solutions proposed by original...
by Peter Zaitsev | Aug 11, 2006 | Insight for DBAs
Today I’ve upgraded MySQL Server on the host running MySQL Performance Blog. MySQL 4.1.12 was running here for well over a year before that. Why Have not I upgraded before ? Well because it just worked fine. Yes I know there were some security fixes but I have...
by Peter Zaitsev | Aug 2, 2006 | Benchmarks, Insight for Developers
If you care about archiving best performance in your application using MySQL you should learn about prepared statements. These do not neccesary provide performance beneft but they may, they also have other benefits. As a quick introduction – before MySQL 4.1...
by Peter Zaitsev | Jul 30, 2006 | Insight for DBAs
MySQL is known for its stability but as any other application it has bugs so it may crash sometime. Also operation system may be flawed, hardware has problems or simply power can go down which all mean similar things – MySQL Shutdown is unexpected and there...
by Peter Zaitsev | Jul 27, 2006 | Insight for DBAs
MySQL has a great feature called “Query Cache” which is quite helpful for MySQL Performance optimization tasks but there are number of things you need to know. First let me clarify what MySQL Query Cache is – I’ve seen number of people being...
by Peter Zaitsev | Jun 29, 2006 | Insight for DBAs
“What cache hit rate is good for optimal MySQL Performance” is typical question I’m asked. It could by MyISAM key_buffer or Innodb innodb_buffer_pool it does not really matter. In both cases trying to come up with constant “good” hit rate...
by Vadim Tkachenko | Jun 26, 2006 | Insight for Developers