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

发布时间:2023年12月17日

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

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

下面举个对照的例子:

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

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

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

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

文章来源:https://blog.csdn.net/panghuangang/article/details/134964544
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。