ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

mysql:不要在索引列进行数学运算和函数运算

2026/8/15 2:27:20 拓冰建站 浏览量
mysql:不要在索引列进行数学运算和函数运算

不要在索引列进行数学运算和函数运算。这是因为数学运算和函数运算会改变索引列的值,导致索引失效。

如果需要进行计算或函数处理,最好将数据取出并在应用程序中进行处理。

下面举个对照的例子:

1)看语句explain select * from test_table where type='re';的执行计划,其中没有在索引列上进行计算或函数处理:

从上面的输出可以看出,使用了索引。

2)再看语句explain select * from test_table where left(type, 2)='re';的执行计划,其中在索引列上进行了函数计算:

从上面输出可以看出,没有使用索引。