数据库优化实践【MS SQL优化开篇】

原创 2014年11月18日 14:16:36

  数据库定义:

  数据库是依照某种数据模型组织起来并存在二级存储器中的数据集合,此集合具有尽可能不重复,以最优方式为特定组织提供多种应用服务,其数据结构独立于应用程序,对数据的CRUD操作进行统一管理和控制,数据库是数据管理的高级阶段,是在文件系统上发展起来的。

  基本结构:

  数据库分三个层次:分别为物理数据层、概念数据层、逻辑数据层。

  物理数据层:它是数据库的最内层,是物理存贮设备上实际存储的数据的集合。这些数据是原始数据,是用户加工的对象,由内部模式描述的指令操作处理的位串、字符和字组成。

  概念数据层:它是数据库的中间一层,是数据库的整体逻辑表示。指出了每个数据的逻辑定义及数据间的逻辑联系,是存贮记录的集合。它所涉及的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。

  逻辑数据层:它是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。数据库不同层次之间的联系是通过映射进行转换的。

  数据库特点:

  ⑴实现数据共享。

  数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。

  ⑵减少数据的冗余度。

  同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性。

  ⑶数据的独立性。

  数据的独立性包括逻辑独立性(数据库中数据库的逻辑结构和应用程序相互独立)和物理独立性(数据物理结构的变化不影响数据的逻辑结构)。

  ⑷数据实现集中控制。

  文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。

  ⑸数据一致性和可维护性,以确保数据的安全性和可靠性。

  主要包括:①安全性控制:以防止数据丢失、错误更新和越权使用;②完整性控制:保证数据的正确性、有效性和相容性;③并发控制:使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用。

  ⑹故障恢复。

  由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。数据库系统能尽快恢复数据库系统运行时出现的故障,可能是物理上或是逻辑上的错误。比如对系统的误操作造成的数据错误等。

  数据结构模型

  ⑴数据结构

  所谓数据结构是指数据的组织形式或数据之间的联系。如果用D表示数据,用R表示数据对象之间存在的关系集合,则将DS=(D,R)称为数据结构。例如,设有一个电话号码簿,它记录了n个人的名字和相应的电话号码。为了方便地查找某人的电话号码,将人名和号码按字典顺序排列,并在名字的后面跟随着对应的电话号码。这样,若要查找某人的电话号码(假定他的名字的第一个字母是Y),那么只须查找以Y开头的那些名字就可以了。该例中,数据的集合D就是人名和电话号码,它们之间的联系R就是按字典顺序的排列,其相应的数据结构就是DS=(D,R),即一个数组。

  ⑵数据结构种类

  数据结构又分为数据的逻辑结构和数据的物理结构。数据的逻辑结构是从逻辑的角度(即数据间的联系和组织方式)来观察数据,分析数据,与数据的存储位置无关。数据的物理结构是指数据在计算机中存放的结构,即数据的逻辑结构在计算机中的实现形式,所以物理结构也被称为存储结构。这里只研究数据的逻辑结构,并将反映和实现数据联系的方法称为数据模型。

  比较流行的数据模型有三种,即按图论理论建立的层次结构模型和网状结构模型以及按关系理论建立的关系结构模型

  2.层次、网状和关系数据库系统

  ⑴层次结构模型

  层次结构模型实质上是一种有根结点的定向有序树(在数学中"树"被定义为一个无回的连通图)。下图是一个高等学校的组织结构图。这个组织结构图像一棵树,校部就是树根(称为根结点),各系、专业、教师、学生等为枝点(称为结点),树根与枝点之间的联系称为边,树根与边之比为1:N,即树根只有一个,树枝有N个。

  按照层次模型建立的数据库系统称为层次模型数据库系统。IMS(Information Manage-mentSystem)是其典型代表。

  ⑵网状结构模型

  按照网状数据结构建立的数据库系统称为网状数据库系统,其典型代表是DBTG(Data Base Task Group)。用数学方法可将网状数据结构转化为层次数据结构。

  ⑶关系结构模型

  关系式数据结构把一些复杂的数据结构归结为简单的二元关系(即二维表格形式)。例如某单位的职工关系就是一个二元关系。

  数据库类型包括Oracle,MS Sql,Mysql,Nosql,Sybase,Infomix,DB2,VF,Access等数据库类型,

  一个数据库系统的生命周期可以分成:设计、开发和成品三个阶段。在设计阶段进行数据库性能优化的成本最低,收益最大。在成品阶段进行数据库性能优化的成本最高,收益最小。

  数据库的优化通常可以通过对网络、硬件、操作系统、数据库参数和应用程序的优化来进行。最常见的优化手段就是对硬件的升级。根据统计,对网络、硬件、操作系统、数据库参数进行优化所获得的性能提升,全部加起来只占数据库系统性能提升的40%左右,其余的60%系统性能提升来自对应用程序的优化。许多优化专家认为,对应用程序的优化可以得到80%的系统性能的提升。

C++语音识别开篇

-
  • 1970年01月01日 08:00

ms-sql数据库优化

SQL语句优化的原则:   ◆1、使用索引来更快地遍历表   缺省情况下建立的索引是非群集索引,但有时它并不是最佳的。在非群集索引下,数据在物理上随机存放在数据页上。合理的索引设计要建立在对各种查询的...
  • xuejiayue1105
  • xuejiayue1105
  • 2012-05-17 00:01:58
  • 2309

Mysql数据库优化和sql优化方法

1、选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度...
  • jwq101666
  • jwq101666
  • 2018-01-16 09:11:59
  • 151

SQL Server数据库优化的几种方法.

转子:http://www.cr173.com/html/5338_1.html 巧妙优化SQL Server数据库的几种方法,在实际操作中导致查询速度慢的原因有很多,其中最为常见有...
  • silence432
  • silence432
  • 2014-06-26 09:49:59
  • 1327

数据库SQL优化大总结1之- 百万级数据库优化方案

转自:https://mp.weixin.qq.com/s?__biz=MzIxMjg4NDU1NA==&mid=2247483684&idx=1&sn=f5abc60e696b2063e43cd9c...
  • wuhuagu_wuhuaguo
  • wuhuagu_wuhuaguo
  • 2017-06-06 09:55:51
  • 7786

我和技术博客的这一年

本文首发于:https://h2pl.github.io/2018/04/20/blog更多内容请到我的个人博客查看https://h2pl.github.io本文记录了我从Java初学者到专注于Ja...
  • a724888
  • a724888
  • 2017-03-08 19:32:08
  • 16756

优化1——数据库优化面试题

1.实践中如何优化mysql 1) SQL语句及索引的优化 2) 数据库表结构的优化 3) 系统配置的优化 4) 硬件优化   2.索引的底层实现原理和优化 在 DB2 数据库中索引...
  • u010796790
  • u010796790
  • 2016-08-12 20:01:58
  • 15976

SQL数据库优化方面的经验

1、用PreparedStatement一般来说比用Statement性能高,一个sql发给服务器去执行,涉及步骤:语法检查,语义分析,编译,缓存。 2、有外键约束会影响插入和删除性能,如果程序能够保...
  • daodaipsrensheng
  • daodaipsrensheng
  • 2016-08-29 10:42:51
  • 6935

数据库sql常见优化方案

为什么要优化:      随着实际项目的启动,数据库经过一段时间的运行,最初的数据库设置,会与实际数据库运行性能 会有一些差异,这时我们就需要做一个优化调整。 数据库优化这个课题较大,可分为四大类...
  • miachen520
  • miachen520
  • 2016-08-24 14:54:47
  • 2105

谈谈作为DBA我对MySQL数据库优化的理解

第一次听到别人问“MySQL怎么优化?”的问题是在一次电话面试里面,当时反应不及,就举了一个工作中给某张表添加索引然后优化了SQL查询性能的栗子。最后面试官说没有get到我的key。然后,当然没有什么...
  • sweeper_freedoman
  • sweeper_freedoman
  • 2017-09-20 00:45:18
  • 502
收藏助手
不良信息举报
您举报文章:数据库优化实践【MS SQL优化开篇】
举报原因:
原因补充:

(最多只允许输入30个字)