sql server 单引号引起的执行时间过长

最近在开发项目中遇到了一个问题,存储过程执行的时间过长,只是简单的查询语句。

通过不同的测试发现,只要当增加条件 where examid=74时,执行的时间才会过长,通过查询发现examid用的varchar字段类型,但却在赋值时没有加单引号:

对于varchar或者char字段里,如果只放数字类型的字符串,可以不加单引号执行SQL语句,不报错:

例如:

正常的写法是:

<pre name="code" class="sql"><span style="font-size:18px;">select * from examstudentscore where examid=74</span>

 
但你可以写这样写: 

<span style="font-size:18px;">select * from examstudentscore where examid='74'</span>

这条语句完全可以正常执行,但是表数据量很大的时候速度很慢。

字段是varchar,不强制限制赋值必须用单引号,字母的可以检测到,但数字就不会。

所以当字段类型为varchar或者char 时,要加单引号。


有时候 sql 语句对于少数量的查询没问题,但是大数据 时间就会太长了。所以要注意sql的优化。



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值