SQL Server › JSON Support in SQL Server
What are the performance considerations and limitations of querying JSON data stored as text compared to using normalized relational columns?
AdvancedAnswer
Since JSON is stored as plain text, SQL Server must parse it every time a JSON function is used, which is generally slower than querying a properly indexed relational column, and while you can create a computed column based on a JSON_VALUE expression and then index that computed column, this only helps for specific, frequently queried JSON properties rather than the entire document.
ALTER TABLE Orders ADD CustomerEmail AS JSON_VALUE(OrderData, '$.email');
CREATE INDEX IX_Orders_Email ON Orders(CustomerEmail);Real-world example A team notices queries filtering on a customer email stored inside a JSON column are slow, so they create a computed column extracting just that email value and index it, significantly speeding up that specific type of query.