这几天看了《SQL语言艺术》一书,对其中提到的数据库开发过程中应该关注的问题进行一下总结:
1.查询的识别:
尽管许多产品提供良好的监控工具,但要确定一小段S QL 语句与整个系统的关系,有时却非常困难。因此,要养成为程序和关键模块加注释的习惯,在S QL 中插入注释有助于辨别查询在程序中的位置。例如:
/*CU S T O ME R RE G I S T RA T I O N*/se le ct b la h...
这些注释在查错时非常有用。另外,注释也有助于判断单独应用对服务器造成的负载有多大.
2.保持数据库连接稳定:
建立一个新的数据库连接,既快又方便,但这其中往往掩藏着重复建立数据库连接带来的巨大开销。所以,管理数据库连接必须非常小心。允许多重连接——可能就藏在你的应用中——的后果可能很严重.
提升性能可以基于以下方面进行提高:
第一个原因,也是最大的原因,在于数据库连接是很“重”的操作,消耗资源很多。在常见的客户/服务器模式中(现在仍广为使用),简单的连接操作背后潜藏着如下事实:首,先客户端与远程服务器的监听程序(l is t e n e r p ro gr a m)建立联系;接着,监听程序要么创建一个进程或线程来执行数据库核心程序,要么直接或间接地把客户请求传递给已存在的服务器进,程这取决于此服务器是否为共享服务器。
除了这些系统操作(创建进程或线程并开始执行)之外,数据库系统还必须为每次se ss io n建立新环境,以跟踪它的行为。建立新s e ss i o n前,DB MS 还要检查密码是否与保存的加密的账户密码相符。或许,DB MS 还要执行登录触发器(lo go n t ri gg e r),还要初始化存储过程和程序包(如果它们是第一次被调用)。上面这些还不包括客户端进程和服务器进程要之间完成的握手协议。正因为如此,连接池(co n n e ct io n po o li n g)等保持永久数据库连接的技术对性能才如此重要。
第二个原因,你的程序(甚至包括存储过程)和数据库之间的交互也有开销。
即使数据库连结已经建立且仍未中断,程序和DB M S核心之间的上下文切换(c o n t e xt sw i t ch )也有代价。因此,如果DB M S支持数据通过数组传递,应毫不犹豫地使用它。
3.战略优先于战术
想要获得上述的大幅提高性能,无需特别技能,仅要求站在局外思考(t h i nk o u t s i d e t h e bo x)的能力。之前两次优化因“太关注问题本身”而收到了干扰。我们需要大胆的思维,站得远一些,试着从大局的角度看待问题。
4.先定义问题,再解决问题
所有技术方案,都只是我们达到目标的手段。没有经验的开发者误把新技术本身当成了目标。对于热衷于技术、过于看重技术的人来说,此问题就更为严重。
5.直接操作实际数据
许多开发者喜欢建立临时工作表(t e m p or a r y w o rk t ab l e),把后续处理使用的大量数据放入其,中
然后开始“正式”工作。这种方法广受质疑,反映了“跳出业务流程细节考虑问题”的能力不足。记住,永久表(p e rm an e n t t ab l e)可以设置非常复杂的存储选项,而临时表不能。
分享到:
相关推荐
### SQL语言艺术知识点详解 #### 一、书籍概述与适用对象 - **书籍内容结构**:本书共计12章,每一...无论您是在寻找解决特定问题的方法,还是想要系统地提高自己的SQL水平,《SQL语言艺术》都将是一个不错的选择。
通过深入学习和实践"SQL查询的艺术"中的知识,数据库管理员和开发人员能够更好地理解和利用SQL的力量,从而提高数据处理的效率和质量。这不仅有助于日常的数据管理和分析,还能为大数据时代的决策支持提供强大支撑。
本文将深入探讨SQL查询的艺术,通过解析标题与描述中的关键词“SQL查询的艺术”、“SQL查询高效”,为大家呈现一系列实用的技巧和最佳实践。 #### 一、理解SQL查询的基础概念 SQL查询的核心在于理解和操作关系型...
《SQL编程艺术》是一本深度剖析SQL语言及其应用实践的书籍,适合已经具备一定SQL基础并希望进一步提升技能的高级用户阅读。通过对上述关键知识点的学习,读者不仅可以加深对SQL的理解,还能掌握更多实用的技巧和最佳...
本书是一部关于SQL语言艺术的著作,旨在帮助读者深入了解SQL语言,并提供实用的性能优化技巧。全书共分为12章,每一章节均围绕一定的原则或准则展开,并通过实际案例加以阐释,确保读者能够轻松理解并应用于实践中。...
对于那些希望深入学习SQL并将其应用到实际工作中的读者来说,《SQL的艺术》不仅提供了一种轻松愉快的学习方式,还深入浅出地介绍了SQL的核心概念和技术。 #### 二、核心知识点解析 ##### 1. SQL基础 - **数据定义...
《SQL语言艺术》不仅是一本关于SQL编程的书籍,更是一部关于如何成为优秀SQL性能专家的指南。通过对SQL性能的理解和优化,开发者不仅能够编写出功能正确的代码,还能够确保代码的高效执行,从而为企业带来更大的价值...
### SQL 编程艺术:存储过程与函数的精妙之别 #### 一、数据库概述 数据库是一个存储、检索和管理数据的系统。它允许用户存储结构化的数据集合,并可以通过多种方式查询和操作这些数据。数据库通常由数据库管理...
此外,还有专门用于Web开发的标记语言和数据库查询的SQL语言。 总结来说,计算机思维基础的学习涵盖了计算思维的概念、计算理论、算法设计和程序设计语言等多个方面,这些知识不仅对于计算机专业人员至关重要,也是...
数据库不仅仅是一个存储工具,更是一种数据管理的艺术,它能帮助我们从海量数据中提取有价值的信息,驱动决策,推动业务发展。因此,对数据库的深入学习和持续实践是每个IT从业者不可或缺的一部分。
总结,《VB与SQL实现光盘信息管理系统》是一个典型的客户端-服务器应用实例,展示了VB编程语言与SQL数据库的强大结合。通过学习和实践这样的项目,开发者不仅可以掌握基本的编程技能,还能了解到数据库设计和管理的...
这对于学习ASP.NET和SQL Server 2008的初学者来说是一份宝贵的资源。 【茶道】作为网页设计的主题,意味着该网站可能包含了关于茶的历史、种类、泡茶技艺、茶文化活动等相关内容,旨在通过网页的形式传播和弘扬茶道...
在Oracle 11g中,Pro*C/C++是一种用于开发高性能应用程序的语言环境,它允许开发者使用C或C++语言编写应用程序,并通过Oracle预编译器将SQL语句嵌入到这些应用程序中。 #### 二、Oracle Pro*C/C++编程基础 **2.1 ...