by Vadim Tkachenko | Aug 29, 2006 | Benchmarks, Percona Events
Today MySQL published the press release with results of Database Contest (results on German available here http://www.mysql.de/ct-dbcontest). Peter and me spent quite some time working on this project while being employed by MySQL and it is great to see results...
by Peter Zaitsev | Aug 23, 2006 | Benchmarks
Whenever I see benchmark results I try to understand if it is technical benchmark – made by people seeking the truth or it is done by Marketing department to wash your brains. Watch out. Whenever you treat marketing benchmarks as technical ones, you make make...
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 18, 2006 | Percona Events
As I already announced last week I started MySQL Performance Forums project focusing on MySQL Performance discussions as it names says. I spend planty of time replying questions and thought it would be good idea to provide weekly overviews of most interesting topic...
by Vadim Tkachenko | Aug 18, 2006 | Benchmarks
Sysbench is benchmark developed by Alexey Kopytov (software engineer @ MySQL AB) – http://sysbench.sourceforge.net/ and I want to write a short intro about this tool as sysbench is one of software for my everyday use. For example, SUN published their Solaris vs...
by Peter Zaitsev | Aug 17, 2006 | Insight for DBAs
About every second application I look at has some tables which have redundant or duplicate indexes so its the time to speak about these a bit. So what is duplicate index ? This is when table has multiple indexes defined on the same columns. Sometimes it is indexes...
by Peter Zaitsev | Aug 14, 2006 | Insight for Developers
Loose Index Scan with Double IN Few days ago I wrote an article about using UNION to implement loose index scan. First I should mention double IN also works same way so you do not have to use the union. So changing query to: mysql> SELECT sql_no_cache name FROM...
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 10, 2006 | Percona Events
I’m happy to announce availability of MySQL Performance Forums on MySQL Performance Blog. This forum is created as free alternative to MySQL Consulting Services which we provide. If you would like to get some free help to your performance issues please use...
by Peter Zaitsev | Aug 10, 2006 | Insight for Developers
One little known fact about MySQL Indexing, however very important for successfull MySQL Performance Optimization is understanding when exactly MySQL is going to use index and how it is going to do them. So if you have table people with KEY(age,zip) and you will run...
by Peter Zaitsev | Aug 9, 2006 | Insight for Developers
Jay Pipes continues cache experiements and has compared performance of MySQL Query Cache and File Cache. Jay uses Apache Benchmark to compare full full stack, cached or not which is realistic but could draw missleading picture as contribution of different components...
by Peter Zaitsev | Aug 8, 2006 | Insight for Developers
Recently Jay Pipes published great article about lazy connecting and caching which reminded me my post on this matter is well overdue. Let me start with couple of comments about Jays article. First – caching in files should be used with caution. It may be very...
by Peter Zaitsev | Aug 6, 2006 | Insight for Developers
Baron wrote a nice article comparing locking hints in MySQL and SQL Server. In MySQL/Innodb SELECT LOCK IN SHARE MODE and SELECT FOR UPDATE are more than hints. The behavior will be different from normal SELECT statements. Here is a simple example: SESSION1: mysql>...
by Peter Zaitsev | Aug 4, 2006 | Insight for DBAs
One of very interesting techniques Innodb uses is technique called “doublewrite” It means Innodb will write data twice when it performs table space writes – writes to log files are done only once. Why is Doublewrite is needed? It is needed to archive...
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 31, 2006 | Insight for DBAs, MySQL
I’m leaving MySQL starting 1st of August. This is surely not news for my collegues and friends who knew this is comming. We’re starting our own company which will provide MySQL Consulting services. We’ll focus on MySQL Performance Optimization but...
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 Vadim Tkachenko | Jul 28, 2006 | Insight for DBAs
I’m again returning to InnoDB scalability and related bug #15815 as it hurts many users and customers using multi-cpu servers. Short intro into problem: On 4-CPU box 1 thread executes full-table scan select query for 8 sec, but with 4 threads – each thread...
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...