【优化】使用绑定变量 OR 不使用绑定变量,这不是问题!

就目前现状来看,大家有点过分强调绑定变量的作用了。
任何一种优化方法都尤其适用场景,绑定变量技术也不例外。不可盲目的将其信奉为影响性能的罪魁祸首。

1.分清系统是OLTP还是OLAP类型很重要
通常来说,我们把业务分为两类,在线事务处理系统(OLTP)和在线分析系统(OLAP)或者决策支持系统(DSS)。这两类系统在数据库设计上截然不同。比如OLTP系统强调数据库的内存效率,强调内存各种指标的命中率,强调绑定变量,强调并发操作;而OLAP系统则强调数据分析,强调SQL执行时间,强调磁盘I/O,强调分区等。

2.OLTP类型的系统适合大量使用绑定变量技术
OLTP系统是一个数据块变化非常频繁,SQL语句提交非常频繁的系统。对于数据块来说,应尽可能让数据块保存在内存当中,对于SQL来说,尽可能使用绑定变量技术来达到SQL重用,减少物理I/O和重复的SQL解析,从而极大的改善数据库的性能。

3.OLAP系统中使用绑定变量是徒劳的
在OLAP系统中,不需要使用绑定变量(Bind),因为系统中SQL数量和执行频率都很低,SQL语句的分析时间较之执行时间来说可以忽略不计。但是OLAP中可以大量使用位图索引,物化视图,对于大的事务,尽量寻求速度上的优化,没有必要像OLTP那样要求快速提交,甚至要刻意减慢执行的速度。绑定变量真正的用途是在OLTP系统中,这个系统通常有这样的特点,用户并发数很大,用户的请求十分密集,并且这些请求的SQL 大多数是可以重复使用的。

4.小结
以上从理论层面解析了绑定变量的适用场景。希望给大家在日常优化过程中有些指导。请大家避免盲目调优带来的窘境。

Good luck.

secooler
11.01.09

-- The End --

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/519536/viewspace-683500/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/519536/viewspace-683500/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值