# Indexing JSON Data in MySQL ![rw-book-cover](https://blogs.oracle.com/mysql/wp-content/uploads/sites/102/2025/11/header-28-scaled.jpg) ## Metadata - Author: [[Scott Stroz]] - Full Title: Indexing JSON Data in MySQL - Category: #articles - Summary: MySQL lets you store JSON data and query it using special functions. Query speed can slow down as data grows, but creating functional indexes on JSON values can fix this. This helps queries run faster, just like indexing regular columns. - URL: https://blogs.oracle.com/mysql/indexing-json-data-in-mysql ## Highlights - When storing JSON data in MySQL, we can query the database based on values within that JSON. We can accomplish this using a variety of [JSON specific MySQL functions](https://dev.mysql.com/doc/refman/5.7/en/json-function-reference.html). The potential issue is that query performance can degrade over time as the number of rows increases. When this happens with other data types, one solution to help query performance is to add an index to one or more columns. Since MySQL 8.0.13, we have had the ability to create [functional indexes](https://dev.mysql.com/doc/refman/8.0/en/create-index.html#create-index-functional-key-parts). Functional indexes allow us to create indexes based on expressions, not column data. We can leverage this feature to create an index based on JSON values. ([View Highlight](https://read.readwise.io/read/01m2nymc4y19pr7t30mtap5ae2))