随笔分类 - 数据库原理与设计
摘要:1.1.1 摘要在开发过程中,我们不时会遇到系统性能瓶颈问题,而引起这一问题原因可以很多,有可能是代码不够高效、有可能是硬件或网络问题,也有可能是数据库设计的问题。本篇博文将针对一些常用的数据库性能调休方法进行介绍,而且,为了编写高效的SQL代码,我们需要掌握一些基本代码优化的技巧,所以,我们将从一些基本优化技巧进行介绍。本文目录代码中的问题数据库性能开销使用存储过程使用数据库事务使用SqlBulkCopy使用表参数1.1.2 正文假设,我们要设计一个博客系统,其中包含一个用户表(User),它用来存储用户的账户名、密码、显示名称和注册日期等信息。由于时间的关系,我们已经把User表设计好了,
阅读全文
摘要:1.1.1 摘要 在系统设计过程中,系统的稳定性、响应速度和读写速度至关重要,就像12306.cn那样,当然我们可以通过提高系统并发能力来提高系统性能总体性能,但在并发作用下也会出现一些问题,例如死锁。 今天的博文将着重介绍死锁的原因和解决方法。1.1.2 正文 定义: 死锁是由于并发进程只能按互斥方式访问临界资源等多种因素引起的,并且是一种与执行时间和速度密切相关的错误现象。 死锁的定义:若在一个进程集合中,每一个进程都在等待一个永远不会发生的事件而形成一个永久的阻塞状态,这种阻塞状态就是死锁。 死锁产生的必要条件: 1.互斥mutual exclusion):系统存在着临界资源; 2.占有
阅读全文
摘要:1.1.1 摘要相信大家对于SQL Transcation再熟悉不过,它确保了数据库的数据一致性和安全性,尤其在对数据执行增删时,如果发生异常和错误它就会触发事务回滚,从而确保了我们数据的一致性和安全性,下面我们将通过分四部分介绍事件(Transcation)。1.1.2 正文首先让我们通过一个具体的例子介绍Transcation的使用,假如我们的数据库中有一个表UserInfo,它包含三个字段分别为:UserID(自增)、UserName (nvarchar)和LuckyNumber (tinyint),如下图所示:图1 UserInfo表UserInfo表的sql代码如下:-- The d
阅读全文
摘要: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
阅读全文
摘要:1.1.1 摘要如果说要对数据库进行优化,我们主要可以通过以下五种方法,对数据库系统进行优化。1. 计算机硬件调优2. 应用程序调优3. 数据库索引优化4. SQL语句优化5. 事务处理调优在本篇博文中,我们将想大家讲述数据库中索引类型和使用场合,本文以SQL Server为例,对于其他技术平台的朋友也是有参考价值的,只要替换相对应的代码就行了!索引使数据库引擎执行速度更快,有针对性的数据检索,而不是简单地整表扫描(Full table scan)。为了使用有效的索引,我们必须对索引的构成有所了解,而且我们知道在数据表中添加索引必然需要创建和维护索引表,所以我们要全局地衡量添加索引是否能提高数
阅读全文
摘要:1.存储层次:主存储器的访问速度远远高于磁盘的访问速度,一个经典的数据大概为磁盘访问需要10ms,而内存则只要60ns!.数据之所以存储在二级和三级存储器中,还有一个重要原因,一个32位的寻址系统,只有2的32次方字节能够存储于主存中,而数据对象可能超过这个数量!另外,主存储器在重启系统后会丢失数据(尽管增加蓄电备份是之保存数据是可能的)。根据磁盘的几何和机械结构特点,也可以相应优化磁盘数据记录的...
阅读全文
摘要:一、基本概念在磁盘上,存储信息的单位是页,页的大小是DBMS的一个参数,典型的值是4KB或者8KB.聚簇索引:数据记录的顺序与某一索引的数据项顺序相同或类似,否则就是非聚簇索引。索引为什么可以提高性能:因为可以迅速缩小查找范围!!!索引数据结构:a)基于哈希的索引:文件中的记录分别放在不同的桶中,其中一个桶有一个或多个页组成。一个记录属于哪个桶可以由一个特殊的函数用于搜索码来决定,这个函数成为哈希...
阅读全文
摘要:一、事务的特性事务的ACID特性:• 原子性(Atomicity):事务中包括的诸操作要么都做,要么都不做• 一致性(Consistency):事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态• 隔离性(Isolation):一个事务内部的操作及使用的数据对其他并发事务是隔离的• 持续性(Durability ):一个事务一旦提交,它对数据库...
阅读全文