关于sqlserver的sql中的中括号不好之处

我公司之前服务器出现一部署就立刻cpu占满(当时以为机器太烂了),而且非常之响。我听着实在心烦。

由于服务器程序我可以调试。所以我就先看tomcat服务器的日志。反应着某一时间某一个方法一调用就服务器就立刻响。

然后我先把该方法屏蔽。。。看服务器反应。果然cpu不会立刻到满了。(可以说能正常工作).

我然后开始调试该方法。

我一开始就认为是sql写的有问题,本来想重新写的,后来经理就说在sqlserver能用“存储过程”来解决sql效率问题

(由于我对sqlserver数据库,我们经理就叫某人帮我写),经过一段时间后。那“存储过程”出来了。但是现象未能达到效果;

然后我就开始重写那句sql了

具体sql:我就不贴了。

做了例子吧:例如我想查"user"表的name字段中的姓氏:黎和陈 开头,旧的语句是下面的sql

select * from user where 1=1 and name like '%[黎陈]%';

然后查询后没有问题。在自己的服务器也没有问题。

但是一到服务器就立刻有反应。

后来我改成:

select * from user where 1=1 and name like '黎%' or name like  '陈%';

就没有什么问题了。所以嘛.....sql中的符号不懂就别乱用哦。。。。

我只知道这个中括号([])的不好之处。。。其他还是得日后才知道

原文地址:https://www.cnblogs.com/shortboy/p/2938664.html