Welcome to Federico-Razzoli.com



I am a freelancer database consultant, specialised in MySQL and other open source databases.

Feel free to browse my free contents. My articles will help you in your job and will satisfy some of your curiosities.

Learn about me and my professional services. Please contact me for any question.


Important notice:
Because of the global health situation,
currently all Database Consulting services take place remotely.


Knowledge Base

Federico-Razzoli.com articles aim to form a shared knowledge base on open source database systems. Feel free to read, contribute with comments, and share links to these contents.

How to return random rows from a table

How to return random rows from a table

Returning random rows in a random order from a relational database is a very hard problem. In this article we will see an antipattern, we will discuss why this problem is so hard, and we'll examine some imperfect solutions. ...
Paginating the results of an SQL query

Paginating the results of an SQL query

One of the trickiest problems in SQL is to query rows in tranches. This is typically needed in a website search, or in a dynamic catalogue where products appear as you scroll down. You want the DBMS to only return ... ...
London Open Source Databases meetups in July 2019

London Open Source Databases meetups in July 2019

In July, London Open Source Databases group will see a meetup with Peter Zaitsev and one with Monty Widenius. ...
MySQL stored procedures: all ways to produce an output

MySQL stored procedures: all ways to produce an output

There are many non-obvious ways to return values from MySQL stored procedures, and each of them solves particular problems. ...
Dropping useless MySQL indexes

Dropping useless MySQL indexes

How to find useless indexes and get rid of them to improve your database performance. ...