Understanding Hash Joins in MySQL 8

In MySQL 8.0.18 there is a new feature called Hash Joins, and I wanted to see how it works, and in which situations it can help us. Here, you can find a nice detailed explanation about how it works under the hood.

The high-level basics are the following: if there is a join, it will create an in-memory hash table based on one of the tables and will read the other table row by row, calculate a hash, and do a lookup on the in-memory hash table.