Quantcast
Channel: Øystein on MySQL Optimizer
Browsing latest articles
Browse All 37 View Live

MySQL Webinar: Analyze & Tune Queries for Better Performance

Thanks to everyone who attended my webinar today, and thanks for all the positive feedback in the Q&A session.  Unfortunately, I was not able to respond to everyone during the 15 minutes available...

View Article



Slides from Percona Live and airbnb Tech Talks

Last week I presented my talk, "How to Analyze and Tune SQL Queries for Better Performance" both at Percona Live in Santa Clara and at airbnb Tech Talks in San Francisco.  The slides are available on...

View Article

Improved Performance of Queries with Derived Tables

Last month/year I published a blog post on mysqlserverteam.com with an example of how MySQL 5.7 gives you improved performance for queries with derived tables.The query example was part of my tutorial...

View Article

How to Get Optimizer Trace for a Query

View Article

Oracle Virtual Technology Summit

In the coming weeks, Oracle Technology Network welcomes you to join the Virtual Technology Summit which is a half-day online conference with multiple tracks.  This time there is a MySQL track, and I...

View Article


Image may be NSFW.
Clik here to view.

MySQL Optimizer Sessions at Oracle OpenWorld

Oracle OpenWorld starts soon and there will be a few sessions on the MySQL Optimizer.   On Monday, I will have my tutorial on how to analyze and tune MySQL queries.  Later in the week Manyi Lu, the...

View Article

Presentations at OpenWorld and PerconaLive

During the last month, I presented on MySQL both at Oracle OpenWorld and Percona Live in Amsterdam.  The slides from the presentations have been uploaded to the conference web sites,  and you also find...

View Article

Image may be NSFW.
Clik here to view.

Improved Query Performance by Using Derived Table instead of IN-subquery

MySQL 5.6 introduced semi-join transformation for IN-subqueries. This opened up for several new ways to execute such subqueries; one was no longer tied to executing the subquery once for every row of...

View Article


Image may be NSFW.
Clik here to view.

Improving the Stability of MySQL Single-Threaded Benchmarks

I have for some years been running the queries of the DBT-3 benchmark, both to verify the effect of new query optimization features, and to detect any performance regressions that may have been...

View Article


Presentations at pre-FOSDEM'17 MySQL Day

I am currently at FOSDEM in Brussels attending a lot of interesting presentations in the MySQL and Friends devroom.  Yesterday the MySQL community team organized a pre-FOSDEM MySQL Day, where I...

View Article

Image may be NSFW.
Clik here to view.

MySQL 5.7: Improved JOIN Order by Taking Condition Filter Effect into Account

One of the major challenges of query optimizers is to correctly estimate how many rows qualify from each table of a join. If the estimates are wrong, the optimizer may choose a non-optimal join order....

View Article

Image may be NSFW.
Clik here to view.

What to Do When the MySQL Optimizer Overestimates the Condition Filtering Effect

In my previous blog post, I showed an example of how the MySQL Optimizer found a better join order by taking into account the filtering effects of conditions. I also explained that for non-indexed...

View Article

Image may be NSFW.
Clik here to view.

MySQL 8.0: Improved performance with CTE

Last week I published a blog post in the MySQL Server Blog where I showed how the execution time of a query was reduced by 50% by using a Common Table Expression (CTE) instead of a view.In the coming...

View Article


Image may be NSFW.
Clik here to view.

Speaking at Percona Live

Percona Live is next week, and on Monday morning I will give a tutorial on "How to Analyze and Tune MySQL Queries for Better Performance".  I hope to see some of you there!  For those of you that are...

View Article

Going Beyond Tabular EXPLAIN

A while ago, Lukas Eder posted a very interesting article on query optimizations that do not depend on the cost model. We often call such optimizations query transformations since they can be applied...

View Article


Image may be NSFW.
Clik here to view.

Query Optimizer Takes Data Buffering into Account

Last month I published a blog post at mysqlserverteam.com about how the Query Optimizer in MySQL 8.0 takes advantage of that InnoDB provides buffer estimates per table and index. In that blog post I...

View Article

Speaking at FOSDEM

I will be speaking at FOSDEM the coming Sunday (February 4) on Histogram support in MySQL 8.0. If you are at FOSDEM, and want to learn about how you can use histograms to improve your query execution...

View Article


FOSDEM: Histogram support in MySQL 8.0

The slides and video from my FOSDEM presentation on histogram support in MySQL can now be downloaded.  Check it out if you want to learn more about how you can create histograms to improve query plans...

View Article

Inspecting the Content of a MySQL Histogram

FOSDEM is coming up. I do not have a presentation in the MySQL and Friends devroom this year, but it reminded me that I had planned to post a follow-up to my presentation from last year. As part of the...

View Article

My presentations at Percona Live

Percona Live 2019 is starting in Austin today.  You may already have read that I have a presentation on how to use Optimizer Trace to understand the inner workings of the MySQL Query Optimizer: The...

View Article

Image may be NSFW.
Clik here to view.

MySQL Parallel Index Range Scans: One is Sometimes Better Than Two

As presented at the Percona Live Conference in Austin in May, at Alibaba we are working on adding support for parallel query execution to POLARDB for MySQL. As discussed in the presentation, we observe...

View Article


Image may be NSFW.
Clik here to view.

Memory Usage for MySQL Hash Join

At Percona Live Online my colleague at Alibaba, Jim Tommaney, presented a study of hash join performance in MySQL and Marwho?iaDB. For some of the queries, the peformance characteristics for MySQL...

View Article


Image may be NSFW.
Clik here to view.

Transformations of Correlated Scalar Subqueries

MySQL 8.0.24 introduces transformation of correlated scalar subqueries to derived tables. In my presentation in the MySQL devroom at FOSDEM earlier this year, I showed how we can manually rewrite such...

View Article

Image may be NSFW.
Clik here to view.

Use Window Functions to Speed Up Correlated Subqueries

In my previous blog post, I discussed different ways to rewrite correlated scalar subqueries to improve performance. In this blog post, I will discuss how we can use window functions for a subset of...

View Article

Run ANALYZE TABLE — Do Not Rely on InnoDB's Automatic Recalculation of...

This blog post is inspired by Jesper's recent blog post on how the automatic update of InnoDB persistent statistics may never trigger if servers are restarted frequently. However, the matter is even...

View Article

Browsing latest articles
Browse All 37 View Live




Latest Images