比如是超过3000个并发,通常这种情况下,我们会考虑采用一套软件来搭建一个中间层,这就是通常讲到的3层或是多层结构。使用这一套软件的目的是用来构建一个缓冲池,在数据库之前对大量的并发进行处理,以便于每次只有少数的用户连接到数据库中,其他的用户在缓冲池的队列中等待。当然,这只是一个动态的过程,程序会尽可能快地去响应所有用户的请求,这种提前对大量并发用户进行处理的方式,会比让这3000个用户直接连接到数据库中效果要好得多,同时数据库也可以使用更多的资源来处理用户的操作请求而不是去开3000个进程来处理每个用户的请求,这个开销是非常大的。所以对于大量并发的系统来讲,在数据库之前建一个缓冲用户请求的中间件服务,显得至关重要。同时,很多这种中间件软件还提供了负载均衡的功能。
当然,Oracle数据库自身也提供了一种MTS的技术,作用和这种中间件服务是一样的,但目前看来,采用商业中间件软件或是开发商自己开发一套中间件服务的做法更多一些(参见图1.1 )。
1.1.2 软件代码的编写对数据库性能的影响
软件代码对数据库的影响,通常指的是应用程序代码中对数据库操作的代码部分对数据库产生的影响。具体来讲就是SQL语句或是PL/SQL包。SQL语句造成的影响,一种是SQL,语句本身在逻辑上就是效率低下的,另一种就是SQL语句没有绑定变量。
性能低下的SQL语句,比如使用Hint不合适的外连接,谓词的隐含转换,优化器的选择等,会对SQL的执行产生非常大的影响,特别是多表关联的情况下,影响更是显著。
展开
——冯春培
当我们在2004年开始编辑出版Oracle技术书籍时,国内原创的作品还十分有限,现在,这种情况完全改变了,越来越多的技术爱好者开始总结、写作和分享,Oracle技术出版物开始丰富起来。在这个历程中,ITPUB论坛一直推动着Oracle数据库技术的探讨和应用,作者alantany来自于ITPUB的一位技术专家,他将自己多年的实践与经验不断总结出来,和我们大家分享,这种精神与坚持值得尊敬,我乐于见到这样的作品问世,也期待作者能够坚持不懈,不断同我们分享他的知识与经验。
——盖国强,恩墨科技创始人,Oracle ACE总监
很欣喜地看到这几年来国内Oracle数据库技术原创书籍的蓬勃发展,对每一位能够坐下来并且将自己的经-验写出来的作者我都报以深深的敬意。可以说这本书作者拥有得天独厚的工作环境,据我所知,他所参与管理的数据库无论是数量还是大小还是性能要求上在国内都可以排入前列,因此这是一本融合了真知灼见、可以指导实际工作Oracle数据库性能优化书籍。实际上我更希望读者们可以从后记开始读起,作者在后记中提及的所有观点都与我不谋而合,我同样相信无论是后记中这些观点还是全书中记录的技术知识,对于所有从业人员都有极大帮助。
——业内资深Oracle技术专家,Oracle ACE张乐奕
据我所知作者是中国独立撰定Oracle性能优化书籍的第一人,该书几乎涵概了Oracle性能优化的所有主题,在国内数据库性能优化领域的书籍中实属罕见。
——谢永生,资深Oracle培训讲师
The fast and easy way to understanding the fundamentals of database performance tunning. If you retired of wading through huge technical manuals that drown you in jargon,making it difficult to decipher database performance issues,help has finally arrived.Simple enough for a beginner,but challenging enough for anadvanced user,this book is your shortcut to mastering database perfperformance tunning.
——Mike ITG(Investment technology group)资深软件工程师