Massive Performance Gains on JSON Column Queries using MySql Virtual Columns and Indexes in Laravel

If your application performs queries against a Mysql JSON column, you may have come across the scenario where the query became a performance bottleneck, slowing down your application. Normally you’d use an index, but Mysql does not allow creating indexes involving JSON columns. So what else is there to try?

Luckily, Mysql 5.7 introduced “Generated Columns”, which are derived columns that can be indexed. In this article I’d like to share the approach my team used, and an example of how with minimal effort we realized massive performance gains in a PHP application running on Laravel.

I’m hoping this article will help someone have a similar experience.

Read the full story on medium.com