SQL语句中用Parameters有什么好处

本文介绍SQL语句中使用参数化的两大好处:一是提高SQL语句性能,通过减少重复解析相同结构的SQL语句来加快执行速度;二是防止SQL注入攻击,确保应用程序安全。
SQL语句中使用parameters的好处:
1、提高SQL语句的性能:每个不同的SQL语句在执行前都会进行相应的预解析等操作,这个过程是比较耗时的,而任何值的不同也是SQL不同,比如:SELECT * FROM USER WHERE USER_ID = 1与SELECT * FROM USER WHERE USER_ID = 2是不同的SQL语句。如果将where条件中的USER_ID的值通过参数传递的话,两个SQL内容就一样,数据库系统就只需要进行一次解析就可以了,然后缓存起来,以后可以直接使用,从而大大提高SQL语句的性能。

2、避免因为程序员的考虑不足引起的SQL注入安全问题
  比如:以 SELECT * FROM USER WHERE USER_NAME = '页面中的用户名'
如果用户这样书写的话,用户名合法一般是没有什么问题的,但是,如果我输入的用户名为:1' or '0' = '0这样替换上面的内容后,变成了:
SELECT * FROM USER WHERE USER_NAME = '1' or '0' = '0'这样就可以查询出所有的用户数据了,造成信息泄露
分类:  SQL
本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/archive/2012/10/09/2717128.html ,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值