MySQL哪些函数走索引

190次阅读
没有评论

在MySQL中,一些函数是可以使用索引的,包括:

1、聚合函数:例如SUM()、AVG()、MAX()、MIN()等。

2、字符串函数:例如LEFT()、RIGHT()、SUBSTR()、LOCATE()等。

3、数学函数:例如ABS()、CEIL()、FLOOR()、ROUND()等。

4、日期和时间函数:例如YEAR()、MONTH()、DAY()、HOUR()、MINUTE()、SECOND()等。

5、逻辑函数:例如IF()、CASE WHEN()等。

6、索引函数

BINARY: 将字符串作为二进制字符串进行比较,会使用到索引。

CAST: 将一个表达式转换成另外一个数据类型,会使用到索引。

COALESCE: 返回参数列表中的第一个非NULL值,如果第一个参数不是索引列,将不会使用到索引。

IFNULL: 如果第一个参数不是NULL,则返回第一个参数,否则返回第二个参数,如果第一个参数不是索引列,将不会使用到索引。

LOWER: 将字符串转换为小写形式进行比较,会使用到索引。

UPPER: 将字符串转换为大写形式进行比较,会使用到索引。

TRIM: 去除字符串首尾的空格或指定的字符,如果第一个参数不是索引列,将不会使用到索引。

REPLACE: 替换字符串中指定的子字符串,如果第一个参数不是索引列,将不会使用到索引。

SUBSTR: 返回字符串的一部分,会使用到索引。

LENGTH: 返回字符串的长度,会使用到索引。

需要注意的是,使用这些函数时,是否会使用到索引还取决于具体的查询语句和表结构。如果函数的使用导致了索引列的数据类型发生了改变,那么可能会失去索引的优势。因此,在使用这些函数时,需要根据具体情况进行评估和测试,以确保查询的性能和正确性。

正文完
 
评论(没有评论)