赞
踩
MySQL 支持使用函数和表达式来创建索引,这通常被称为函数式索引或表达式索引。这样的索引在某些情况下非常有用,特别是当你需要基于某个函数的计算结果进行快速查询时。
函数式索引是基于某个函数的结果创建的索引。
例如,你可能想要根据某个字段的 LOWER()
函数结果来查询数据,以便进行不区分大小写的搜索。
- CREATE INDEX idx_lowercase_name ON table_name (LOWER(name));
-
- ## 查询使用函数索引
- SELECT * FROM table_name WHERE LOWER(name) = 'name';
在column_name
上创建了一个函数索引,这个索引针对的是YEAR()
函数返回的值。
- CREATE INDEX idx_year_name ON table_name (YEAR(column_name));
-
- ## 查询使用函数索引
- SELECT * FROM table_name WHERE YEAR(column_name) = 2024;
表达式索引是基于某个表达式的结果创建的索引。这意味着你可以使用任何有效的 SQL 表达式来创建索引。
- CREATE INDEX idx_combined_value ON table_name (column1 + column2);
-
- ## 查询
- select * from table_name where column1 + column2 = 2024;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。