• 博客访问: 248313
  • 博文数量: 60
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-07 15:16
  • 认证徽章:
个人简介

go on! go on!

文章分类

全部博文(60)

文章存档

2016年(2)

2014年(9)

2013年(1)

2012年(10)

2011年(38)

我的朋友

分类: Linux操作系统

2011-02-15 15:00:18

http://space.itpub.net/519536/viewspace-683500

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

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.

阅读(1193) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册