i think a good start is "expression index​es" and after json syntax to SQL language, and some new functions to handle json/etc

CREATE INDEX name ON table (  some_function(field)   ) 
maybe dynamic column functions, or json functions? or any function deterministic (for example, NOW() function can't be used)

and use it at WHERE clausules

WHERE some_function(field) ='1234'   <- use index
WHERE some_function(table.field) ='1234'
WHERE some_function(field) IN ( sub select )
WHERE some_function(field) LIKE "blabla%"
WHERE some_function(field) LIKE "%blabla%"
WHERE some_function(field) LIKE "%blabla"