孟清妍 发表于 2025-6-1 20:37:57

mysql 语句优化优化

前言

我们都会写很多语句,那么如何让语句看起来更加优美呢?
正文


[*]移除不必要的括号
((a = 5 AND b = c) OR ((a > c) AND (c < 5)))
=
(a = 5 and b = c) OR (a > c AND c < 5)

[*]常量传递
a = 5 AND b > a
可以换成a = 5 AND b > 5
但是or 不行。
比如说:
a = 5 or b > a
!=
a = 5 or b > 5这里面不行,因为or 是两者之间一个条件满足就可以,b>a != b>5,因为前置条件a = 5不一定为真

[*]等值传递
a = b and b = c and c = 5
=
a=5 and b =5 and c = 5

[*]移除没用的条件
(a < 1 and b = b) OR (a = 6 OR 5 != 5)
= a < 1 OR a = 6
比如b = b 和 5 != 5 一定为true

[*]表达式计算
a = 5 + 1

a = 6
这个可能优化器自动帮忙优化啥的。
但是下面这种事不会帮忙优化的:
ABS(a) > 5

-a 5 可以这样写a>5 or a

申倩语 发表于 2025-10-25 23:43:08

这个有用。

坏级尹 发表于 2025-12-8 05:57:56

谢谢分享,辛苦了

咪四 发表于 2025-12-23 09:42:11

喜欢鼓捣这些软件,现在用得少,谢谢分享!

金娅鸣 发表于 2025-12-24 20:47:18

很好很强大我过来先占个楼 待编辑

钨哄魁 发表于 2026-1-3 12:36:06

不错,里面软件多更新就更好了

赖琳芳 发表于 2026-1-14 19:03:49

这个好,看起来很实用

老僻贞 发表于 2026-1-19 06:45:15

感谢分享

命煦砌 发表于 2026-1-19 16:10:47

懂技术并乐意极积无私分享的人越来越少。珍惜

韶侪 发表于 2026-1-20 08:42:13

感谢,下载保存了

睁扼妤 发表于 2026-1-22 02:25:02

分享、互助 让互联网精神温暖你我

谲脾 发表于 2026-1-24 09:09:10

谢谢分享,试用一下

敖可 发表于 2026-1-24 09:16:01

谢谢楼主提供!

梳踟希 发表于 2026-1-25 11:24:03

这个有用。

劳暄美 发表于 2026-1-26 18:48:21

yyds。多谢分享

喳谍 发表于 2026-2-1 19:43:25

感谢,下载保存了

懵径 发表于 2026-2-2 03:47:51

谢谢楼主提供!

向梦桐 发表于 2026-2-3 04:06:26

用心讨论,共获提升!

梢疠 发表于 2026-2-3 05:28:14

yyds。多谢分享

百杲憔 发表于 2026-2-9 02:47:28

感谢分享
页: [1] 2
查看完整版本: mysql 语句优化优化