数据库优化实践:MS SQL优化开篇

数据库定义:

数据库是依照某种数据模型组织起来并存在二级存储器中的数据集合,此集合具有尽可能不重复,以 最优方式为特定组织提供多种应用服务,其数据结构独立于应用程序,对数据的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%的系统性能的提升。

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/basis/

时间: 2024-11-16 20:46:27

数据库优化实践:MS SQL优化开篇的相关文章

CloudDBA最佳实践-TOP SQL优化分析数据库性能问题

    云数据库CloudDBA诊断报告的TOP SQL优化是非常实用的功能,我们可以通过TOP SQL去诊断数据库中各种问题,比如性能出现下降,数据库压力出现波动,下面介绍两个线上生产案例.     一. 利用CloudDBA TOP SQL找出数据库规格升级而性能下降的元凶     最近在协助用户进行系统重构,RDS测试选型自然成为了本项目的一个重点,但是用户在测试不同规格的时候发现大规格的实例性能居然不如小规格,4C32G规格性能比8C64G规格高出10%,其性能监控也是非常的正常,4C3

MySQL性能优化 出题业务SQL优化_Mysql

先简单介绍一下项目背景.这是一个在线考试练习平台,数据库使用MySQL,表结构如图所示: Question是存储题目的表,数据量在3万左右.AnswerResult表是存储用户作答结果的表,分表之后单表记录大概在300万-400万. 需求:根据用户的作答结果出练习卷,题目的优先级为:未做过的题目>只做错的题目>做错又做对的题目>只做对的题目. 在"做错又做对的题目"中,会按错误次数和正确次数的比例进行权重计算,比如:A.做错10次,做对100次:B.做错10次,做对2

MySQL · 性能优化· CloudDBA SQL优化建议之统计信息获取

阿里云CloudDBA具有SQL优化建议功能,包括SQL重写建议和索引建议.SQL索引建议是帮助数据库优化器创造最佳执行路径,需要遵循数据库优化器的一系列规则来实现.CloudDBA需要首先计算表统计信息,是因为: 数据库优化器通常是基于代价寻找执行路径: SQL优化建议所针对的数据库不限于MySQL数据库,也不局限于某一个特定版本: 1. 基本原则 数据库统计信息在SQL优化起到重要作用.用来估算查询条件选择度的常见统计信息包括表统计信息和字段统计信息.DBA计算查询条件选择度或代价时经常通过

掌握SQL Monitoring这些特性,SQL优化通通不在话下

目录 术语说明 概述 什么SQL会被SQL MONITORING监控到 找到Real Time SQL Monitoring入口 详解Real Time SQL Monitoring     1术语说明   在正式介绍Real Time SQL Monitoring之前,我们先对接下来要用到一些术语做集中的介绍.   Table Queue,消息缓冲区,在并行操作中使用,用于PX进程之间的通信,或者PX进程与QC进程之间的通信,是内存中的一些page,每个消息缓冲区的大小由参数parallel_

人工智能自动sql优化工具--SQLTuning for SQL Server_MsSql

针对这种情况,人工智能自动SQL优化工具应运而生.现在我就向大家介绍这样一款工具:SQLTuning for SQL Server. 1. SQL Tuning 简介 SQL Turning是Quest公司出品的Quest Central软件中的一个工具. QuestCentral(图1)是一款集成化.图形化.跨平台的数据库管理解决方案,可以同时管理Oracle.DB2 和 SQL server 数据库.它包含了如下的多个工具: 数据库管理(DBA)  数据库监控(Monitoring Pack

【重磅干货】看了此文,Oracle SQL优化文章不必再看!

听"俊"一席话,胜读十年书.看了这篇由DBA+社群联合发起人丁俊大师(网名:dingjun123)分享的SQL优化大作,其他Oracle SQL优化文章都不必再看了!   专家简介    丁俊 网名:dingjun123 DBA+社群联合发起人   性能优化专家,Oracle ACEA,ITPUB开发版资深版主.8年电信行业从业经验,在某大型电信系统提供商工作7年,任资深工程师,从事过系统开发与维护.业务架构和数据分析.系统优化等工作.擅长基于ORACLE的系统优化,精通SQL.PL/

优化案例 | 分区表场景下的SQL优化

一.导读 有个表做了分区,每天一个分区. 该表上有个查询,经常只查询表中某一天数据,但每次都几乎要扫描整个分区的所有数据,有什么办法进行优化吗? 二.待优化场景 有一个大表,每天产生的数据量约100万,所以就采用表分区方案,每天一个分区. 下面是该表的DDL: CREATE TABLE `t1` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `date` date NOT NULL, `kid` int(11) DEFAULT '0', `uid` int

看了此文,Oracle SQL优化文章不必再看!

  第一章 看了此文,Oracle SQL优化文章不必再看! DBAplus社群 | 2015-11-17 23:44 目录SQL优化的本质 SQL优化Road Map 2.1 制定SQL优化目标 2.2 检查执行计划 2.3 检查统计信息 2.4 检查高效访问结构 2.5 检查影响优化器的参数 2.6 SQL语句编写问题 2.7 SQL优??\x2F限制导致的执行计划差 SQL优化案例 SQL执行计划获取 4.1 如何获取准确的执行计划 4.2 看懂执行计划执行顺序 一SQL优化的本质 一般来

MS SQL Server入门教程

SQL Server 是一个关系数据库管理系统,它最初是由Microsoft,Sybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本.在Windows NT推出后,Microsoft与Sybase在SQL Server的开发上就分道扬镳了,Microsoft将SQL Server 移植到Windows NT. MS SQL基础教程:SQL Server 2000 简介 MS SQL基础教程:SQL Server 2000 的新特性 MS SQL基础教程:SQ