关于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中的符号不懂就别乱用哦。。。。
我只知道这个中括号([])的不好之处。。。其他还是得日后才知道