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

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

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

下面举个对照的例子:

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

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

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

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

相关推荐

  1. 如何MATLAB中导入表格数据进行运算

    2023-12-13 13:12:06       29 阅读
  2. MySql 函数表达式索引

    2023-12-13 13:12:06       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-13 13:12:06       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-13 13:12:06       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-13 13:12:06       87 阅读
  4. Python语言-面向对象

    2023-12-13 13:12:06       96 阅读

热门阅读

  1. BSP制作

    BSP制作

    2023-12-13 13:12:06      60 阅读
  2. pytorch-0.4.0上古版本安装参考

    2023-12-13 13:12:06       65 阅读
  3. 【Python 千题 —— 基础篇】分解数据

    2023-12-13 13:12:06       55 阅读
  4. Mysql的基础语句

    2023-12-13 13:12:06       51 阅读
  5. Linux0.11内核源码解析-string待更新

    2023-12-13 13:12:06       67 阅读
  6. 什么是强缓存和协商缓存?

    2023-12-13 13:12:06       57 阅读
  7. PostgreSQL数据库切换到另一个模式下

    2023-12-13 13:12:06       52 阅读
  8. filebeat 后端运行,自动退出解决

    2023-12-13 13:12:06       59 阅读
  9. C : DS静态查找之顺序索引查找

    2023-12-13 13:12:06       58 阅读
  10. HTB Ouija

    2023-12-13 13:12:06       50 阅读
  11. JRT实现Cache的驱动

    2023-12-13 13:12:06       70 阅读
  12. go标记omitempty的含义

    2023-12-13 13:12:06       55 阅读
  13. c++基于流文件输入输出的综合程序设计

    2023-12-13 13:12:06       59 阅读
  14. 你在地铁上修过bug吗?

    2023-12-13 13:12:06       63 阅读