Practical route for function-based searches.

Section: MySQL index patterns

Index a generated column

sql
sql
ALTER TABLE users
  ADD COLUMN email_lc VARCHAR(255) GENERATED ALWAYS AS (LOWER(email)) STORED,
  ADD INDEX idx_users_email_lc (email_lc);
Explanation

A generated column can make case-normalized lookups indexable in MySQL.

Learn the surrounding workflow

Compare similar commands or jump into common fixes when this command is part of a bigger troubleshooting path.

Related commands

Same sheet · prioritizing MySQL index patterns
Create a composite index
Support a filter plus order-by pattern.
OpenIn sheetsqlsame section
Create an invisible index
Test an index without making it visible to the optimizer by default.
OpenIn sheetsqlsame section
Toggle index visibility
Hide or re-enable an index without dropping it.
OpenIn sheetsqlsame section
Explain a query
See whether the optimizer chooses your index.
OpenIn sheetsql1 tag match
Refresh table statistics
Help the optimizer make better choices after major data changes.
OpenIn sheetsql1 tag match
Test with FORCE INDEX
Diagnostic tool for checking alternate index paths.
OpenIn sheetsql1 tag match