摘要: 1.1.1 摘要在开发过程中,我们不时会遇到系统性能瓶颈问题,而引起这一问题原因可以很多,有可能是代码不够高效、有可能是硬件或网络问题,也有可能是数据库设计的问题。本篇博文将针对一些常用的数据库性能调休方法进行介绍,而且,为了编写高效的SQL代码,我们需要掌握一些基本代码优化的技巧,所以,我们将从一些基本优化技巧进行介绍。本文目录代码中的问题数据库性能开销使用存储过程使用数据库事务使用SqlBulkCopy使用表参数1.1.2 正文假设,我们要设计一个博客系统,其中包含一个用户表(User),它用来存储用户的账户名、密码、显示名称和注册日期等信息。由于时间的关系,我们已经把User表设计好了, 阅读全文
posted @ 2013-01-31 11:15 自助者天助 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 1.1.1 摘要 在系统设计过程中,系统的稳定性、响应速度和读写速度至关重要,就像12306.cn那样,当然我们可以通过提高系统并发能力来提高系统性能总体性能,但在并发作用下也会出现一些问题,例如死锁。 今天的博文将着重介绍死锁的原因和解决方法。1.1.2 正文 定义: 死锁是由于并发进程只能按互斥方式访问临界资源等多种因素引起的,并且是一种与执行时间和速度密切相关的错误现象。 死锁的定义:若在一个进程集合中,每一个进程都在等待一个永远不会发生的事件而形成一个永久的阻塞状态,这种阻塞状态就是死锁。 死锁产生的必要条件: 1.互斥mutual exclusion):系统存在着临界资源; 2.占有 阅读全文
posted @ 2013-01-31 11:13 自助者天助 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 1.1.1 摘要相信大家对于SQL Transcation再熟悉不过,它确保了数据库的数据一致性和安全性,尤其在对数据执行增删时,如果发生异常和错误它就会触发事务回滚,从而确保了我们数据的一致性和安全性,下面我们将通过分四部分介绍事件(Transcation)。1.1.2 正文首先让我们通过一个具体的例子介绍Transcation的使用,假如我们的数据库中有一个表UserInfo,它包含三个字段分别为:UserID(自增)、UserName (nvarchar)和LuckyNumber (tinyint),如下图所示:图1 UserInfo表UserInfo表的sql代码如下:-- The d 阅读全文
posted @ 2013-01-31 11:12 自助者天助 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 1.1.1 摘要Join是关系型数据库系统的重要操作之一,SQL Server中包含的常用Join:内联接、外联接和交叉联接等。如果我们想在两个或以上的表获取其中从一个表中的行与另一个表中的行匹配的数据,这时我们应该考虑使用Join,因为Join具体联接表或函数进行查询的特性本文将通过具体例子介绍SQL中的各种常用Join的特性和使用场合:目录Inner joinOuter join Cross join Cross apply Cross apply 和 Inner join的区别Semi-join和Anti-semi-join1.1.2 正文首先我们在tempdb中分别定义三个表Colle 阅读全文
posted @ 2013-01-31 11:11 自助者天助 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 1.1.1 摘要如果说要对数据库进行优化,我们主要可以通过以下五种方法,对数据库系统进行优化。1. 计算机硬件调优2. 应用程序调优3. 数据库索引优化4. SQL语句优化5. 事务处理调优在本篇博文中,我们将想大家讲述数据库中索引类型和使用场合,本文以SQL Server为例,对于其他技术平台的朋友也是有参考价值的,只要替换相对应的代码就行了!索引使数据库引擎执行速度更快,有针对性的数据检索,而不是简单地整表扫描(Full table scan)。为了使用有效的索引,我们必须对索引的构成有所了解,而且我们知道在数据表中添加索引必然需要创建和维护索引表,所以我们要全局地衡量添加索引是否能提高数 阅读全文
posted @ 2013-01-31 11:10 自助者天助 阅读(232) 评论(0) 推荐(0) 编辑