☰
mysql 专业笔记 -- 第 69 章:性能调优
2026/10/24 3:54:18 网站建设 项目流程

第 69.1 节:不要隐藏列在函数中

一个常见错误是将索引列隐藏在函数调用内部。例如,以下查询无法从索引中受益:

WHEREDATE(dt)='2000-01-01'

相反,给定INDEX(dt),以下查询可能使用索引:

WHEREdt='2000-01-01'-- 如果 'dt' 是 DATE 类型

以下方式适用于DATE、DATETIME、TIMESTAMP,甚至DATETIME(6)(微秒):

WHEREdt>='2000-01-01'ANDdt<'2000-01-01'+INTERVAL1DAY

第 69.2 节:OR

一般来说,OR会破坏优化。

WHEREa=12ORb=78

不能使用INDEX(a,b),并且可能使用或不使用INDEX(a)和INDEX(b)通过“索引合并”。“索引合并”比什么都没有好,但也仅此而已。

WHEREx=3ORx=5

可以转换为:

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询