On Tuesday Steaphan Greene announced that all currently-pushed changes have now been rebased onto the newly-released upstream MySQL-5.6.24. … [Read more...] about WebScaleSQL 5.6.24 is built and ready to test
Development with MySQL
From time to time we detect query patterns that are not well fitted to the BTree+ structures provided by InnoDB. One such situation is when you need to traverse a hierarchy (tree) or graph structure with many nodes. Specialist databases exist for this such as Neo4J. However there exists a simple solution in the form of OQGraph which is distributed with MariaDB and is documented here. … [Read more...] about Handling hierarchy and travesing Social networks in MySQL with OQGraph
In MySQL Character encoding - part 1 we stated that the myriad of ways in which character encoding can be controlled can lead to many situations where your data may not be available as expected. … [Read more...] about MySQL Character encoding – part 2
Breaking and unbreaking your data Recently at FOSDEM, Maciej presented "Breaking and unbreaking your data", a presentation about the potential problems you can incur regarding character encoding whilst working with MySQL. In short, there are a myriad of places where character encoding can be controlled, which gives ample opportunity for the system to break and for text to become unrecoverable. … [Read more...] about MySQL Character encoding – part 1
Long running transactions can be problematic for OLTP workloads, particularly where we would expect most to be completed in less than a second. In some cases a transaction staying open just a few seconds can cause behaviour that is entirely unexpected, with the developers at a loss as to why a transaction remained open. There are a number of ways to find long running transactions, luckily versions of MySQL from 5.6 onwards provide some very insightful instrumentation. … [Read more...] about Tracking MySQL query history in long running transactions
Often application needs to know where a user is physically located. The easiest way to figure that out is by looking up their IP address in a special database. It can all be implemented in MySQL, but I often see it done inefficiently. In my post I will show how to implement a complete solution that offers great performance. … [Read more...] about Implementing efficient Geo IP location system in MySQL
In the article about the role of a primary key, I mentioned that a secondary index in an InnoDB table consists not only of the values of its member columns, but also values of the table's primary key are concatenated to the index. I.e. the primary key contents is part of every other index. … [Read more...] about Can MySQL use primary key values from a secondary index?