Colin, from Percona, wrote a nice post demonstrating a funny use of common table expressions: solving a Sudoku Puzzle. Ok, that's not the type of problem which matters a lot to database users... but it still feels good when he mentions that MySQL's implementation (which I wrote), is the fastest of all three tested DBMSs 😊.
Back from the PerconaLive conference! It was nice meeting some old faces 😃 There I presented MySQL's Common Table Expressions; check out my slides, with example queries and some details about the implementation. I got two suggestions from the audience:
add to views the same single-materialization which we have in CTEs now (slides 19-27)
support outer references in derived tables and CTEs.
The first point would speed up queries which reference a view more than once. The second point would make it easier to write certain queries, where a subquery depends on the outer query's current row and this subquery contains a CTE. Will I get to work on any of these? Time will tell...
I realize that these last months I have not published anything... it's because I was quite busy developing a prominent feature: [Recursive] Common Table Expressions, also known as
[recursive] subquery factoring,
WITH [RECURSIVE] clause.
This feature is available today, in a Labs release of the MySQL Server.
In my post here, you will find more information: syntax, capacities, examples...
Feels good to have this big piece of work finally out!