It's time to continue my new series that I've started 2 weeks ago. I'd like to start with a reminder that it's time to send your talks for "MySQL and Friends Devroom" at FOSDEM 2017 - the only MySQL-related event next year that I plan to attend in any case. It seems we have one more week to submit, but I've already filled in all the details for the "main" talk, "Understanding MyRocks locks and deadlocks". I'd like to apply my usual source code reading and gdb breakpoints approach in case if by the end of January, 2017 official documentation still misses important details. Official MySQL …[Read more]
10 Older Entries »
I have a habit to keep a log of everything I work on (or even
just read about while working) every day. It's just a plain text
file, with date labels, where most lines are URLs of issues and
bugs I contributed to somehow, and my comments on what I did and
why. But there are also code fragments, texts, copy-pasted
outputs and links to interesting sites, articles and
Some of lines from this log I post on Facebook separately as I add them, these are mostly related to MySQL bugs and other things that annoy me. I know that some of my Facebook friends actually do not like this kind of posts at all... When I used LiveJornal actively, I've posted digests of my log from time to time (you can check what was there if you read Russian). But that digests …
Starting with the 8.0 optimizer labs release the MySQL server now supports descending indexes. As I will detail in this post, this new feature can be used to eliminate the need for sorting results, and lead to performance improvements in a number of queries.…
Today was the first day of sessions at Percona Live Europe 2016, and it was packed with exciting talks and important information on open source databases. Some of the most anticipated talks are those that cover what to expect in MySQL 8.0.
One of those talks was given by Oracle’s Manyi Lu, Director of Software Development. She discussed MySQL 8.0: what’s new in Optimizer.
In her talk, Manyi discussed what we could look forward to in MySQL 8.0’s optimizer. There are substantial improvements in the optimizer in MySQL 5.7 and MySQL 8.0. Most noticeably, users can now combine relational data with NoSQL using the new JSON features. MySQL also now supports functional indexes through generated columns. …[Read more]
One of the things we have been working on for MySQL 8, is speeding up scans that read multiple records from a table or an index. Such scans benefit from reading the records in batches, so that they don’t get the overhead of latching data pages and navigating in the B-tree for every single record that is read.…
First, I want to thank everybody for attending the July 14 webinar. The recording and slides for the webinar are available here. Below is the list of your questions that I wasn’t able to answer during the webinar, with responses:
Q: At which isolation level do
copy data from a table?
A: Both tools do not change the server’s default transaction isolation level. Use either
MySQL 5.7.12 was released more than 2 weeks ago. New features
introduced there in a form of "rapid plugins" are widely
discussed, but I am more interested in bugs reported by MySQL
Community users that are fixed there. Unfortunately I do not see
MySQL Community Release Notes by Morgan (like this) for quite a some time, so I have to
continue describing key bug fixes and name people who reported
and verified bugs in my "Fun with Bugs" series.
As usual, let's start with InnoDB bugs fixed:
- Bug #80070 - "allocated_size and file_size differ if create general tablespace outside datadir". It was reported by my former colleague from Percona …
The optimizer in MySQL 5.7 leverages generated columns. Generated
columns will physically store data in two cases: Either the
column is defined as STORED or you create an index on a virtual
column. The optimizer will leverage such an index automatically
if it encounters the same expression in a statement. Let's see an
mysql> DESC squares;
| Field | Type | Null | Key | Default | Extra |
| dx | int(10) unsigned | YES | | NULL | |
| dy | int(10) unsigned | YES | | NULL | |
In a previous post I took the new JSON datatype and functions for a test drive, using sample data provided by SF OpenData. Today I will extend that example to include indexing.
Introducing Generated Columns
MySQL 5.7 introduces a new feature called generated columns.…
10 Older Entries »