数据库设计

1.数据库设计

1)基本概述

数据库设计(Database Design)属于系统设计的范畴。通常把使用数据库的系统统称为数据库应用系统,把对数据库应用系统的设计简称为数据库设计。

数据库设计的任务是针对一个给定的应用环境,在给定的(或选择的)硬件环境和操作系统及数据库管理系统等软件环境下,创建一个性能良好的数据库模式,建立数据库及其应用系统,使之能有效地存储和管理数据,满足各类用户的需求。

数据库设计人员需要注意以下几点:

  • 要具备数据库知识和数据库设计技术,具有程序开发的实际经验, 掌握软件工程的原理和方法。
  • 在数据库应用系统开发前,必须深入应用环境,了解用户具体的专业业务。
  • 在数据库设计的前期和后期,需要与应用单位人员密切联系,共同开发。

2)数据库应用系统的生命周期

数据库应用系统的生命周期分为数据库规划、需求描述与分析、数据库与应用程序设计、数据库设计实现、 测试、运行维护6个阶段。

  • 数据库规划。是创建数据库应用系统的起点,是数据库应用系统的任务陈述和任务目标。任务陈述定义了数据库应用系统的主要目标,而每个任务目标定义了系统必须支持的特定任务。
  • 需求描述与分析。是以用户的角度,从系统中的数据和业务规则入手,收集和整理用户的信息,以特定的方式加以描述,是下一步工作的基础。
  • 数据库与应用程序设计。对用户数据的组织和存储设计,应用程序设计是在数据库设计基础上对数据操作及业务实现的设计,包括事务设计和用户界面设计。
  • 数据库设计实现。使用DBMS支持的数据定义语言(DDL)实现数据库的建立,用高级语言(Basic、Delphi、C、C++、Power builder等)编写应用程序。
  • 测试。是在数据系统投入使用之前,通过精心制订的测试计划和测试数据来测试系统的性能是否满足设计要求,以便发现问题。
  • 运行维护。系统投入使用后,必须不断地对其进行评价、调整与修改,直至系统消亡。

3)数据库设计的策略和阶段

数据库设计的一般策略有自顶向下(Top Down)和自底向上(Bottom UP)

数据库设计的6个阶段:

  • 用户需求分析。数据库设计人员采用一定的辅助工具对应用对象的功能、性能、限制 等要求所进行的科学分析。
  • 概念结构设计。概念结构设计是对信息分析和定义,如视图模型化、视图分析和汇总,对应用对象精确地抽象、概括而形成的独立于计算机系统的企业信息模型。描述概念模型的较理想的工具是E-R图
  • 逻辑结构设计。将抽象的概念模型转化为与选用的DBMS产品所支持的数据模型相符合的逻辑模型,它是物理结构设计的基础。包括模式初始设计、子模式设计、应用程序设计、模式评价以及模式求精。
  • 物理结构设计。逻辑模型在计算机中的具体实现方案。
  • 数据库实施阶段。数据库设计人员根据逻辑设计和物理设计阶段的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。
  • 数据库运行和维护阶段。数据库应用系统经过试运行即可投入运行,但该阶段需要不断地对系统进行评价、调整与修改。

2.系统需求分析

系统需求分析是在项目确定之后,用户和设计人员对数据库应用系统所要涉及的内容(数据)和功能(行为)的整理和描述,是以用户的角度来认识系统。

需求分析的任务:

  • 调查需求。调查组织机构情况,调查各部门的业务活动情况,协助用户明确对新系统的各种需求,确定新系统的边界,这也是需求分析的重点。
  • 达成共识。
  • 分析表达需求。

需求分析的方法是自顶向下和自底向上。自项向下的结构化分析(Structured Analysis, SA)方法从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并把每一层用数据流图和数据字典描述。

需求分析的重点是“数据”和“处理”,获得用户对数据库要求:

  • 信息要求。用户需要在系统中保存哪些信息,由这些保存的信息要得到什么样的信息,这些信息以及信息间应当满足的完整性要求。
  • 处理要求。用户在系统中要实现什么样的操作功能,对保存信息的处理过程和方式,各种操作处理的频度、响应时间要求、处理方式等以及处理过程中的安全性要求和完整性要求。
  • 系统要求。包括安全性要求、使用方式要求和可扩充性要求。
    • 安全性要求:系统有几种用户使用,每一种用户的使用权限如何。
    • 使用方式要求:用户的使用环境是什么,平均有多少用户同时使用,最高峰时有多少用户同时使用,有无查询相应的时间要求等。
    • 可扩充性要求:对未来功能、性能和应用访问的可扩充性的要求。

需求分析的过程:调查机构情况->熟悉业务活动->明确用户需求->确定系统边界->分析系统功能->分析系统数据->编写分析报告

需求分析的产物是系统需求说明书(SRS),主要包括数据流图、数据字典、各种说明性表格、统计输出表和系统功能结构图等。系统需求说明书是以后设计、开发、测试和验收等过程的重要依据。。

3.概念结构设计

数据库概念结构设计阶段是在需求分析的基础上,依照需求分析中的信息要求,对用户信息加以分类、聚集和概括,建立信息模型,并依照选定的数据库管理系统软件,转换成为数据的逻辑结构,再依照软硬件环境,最终实现数据的合理存储。这一过程也称为数据建模。这一过程可分解为三个阶段:概念结构设计、逻辑结构设计和物理结构设计。

1)基础知识

概念结构设计的目标是产生反映系统信息需求的数据库概念结构,即概念模式。设计人员从用户的角度看待数据以及数据处理的要求和约束,产生一个反映用户观点的概念模式,然后再把概念模式转换为逻辑模式。

概念结构设计是设计人员以用户的观点,对用户信息的抽象和描述,从认识论的角度来讲,是从现实世界到信息世界的第一次抽象,并不考虑具体的数据库管理系统。

概念结构设计的策略通常有以下4种:自顶向下、自底向上、逐步扩张和混合策略。实际采用无严格规定,根据具体业务的特点选择,如对于组织机构管理,因其固有的层次结构,可采用自顶向下的策略;对于已实现计算机管理的业务,通常可以以此为核心,采取逐步扩张的策略。

概念结构设计的方法是实体–联系方法(Entity-Relationship Approach,简称E-R方法),采用E-R模型将现实世界的信息结构统一用实体、属性,以及实体之间的联系来描述。

使用E-R方法,无论是哪种策略,都要对现实事物加以抽象认识,以E-R图的形式描述出来。对现实事物抽象认识的三种方法分别是分类、聚集和概括。

  • 分类(Classification):对现实世界的事物,按照其具有的共同特征和行为,定义一种类型。如学校中的学生和教师就属于不同的类型。在某一类型中,个体是类型的一个成员或实例,即“is member of”,如李娜是学生类型中的一个成员。
  • 聚集(Aggregation):定义某一类型所具有的属性。如学生类型具有学号、姓名、性别、班级等共同属性,每一个学生都是这一类型中的个体,通过在这些属性上的不同取值来区分。各个属性是所属类型的一个成份,即“is part of”,如姓名是学生类型的一个成份。
  • 概括(Generalization):由一种已知类型定义新的类型。如由学生类型定义研究生类型,在学生类型的属性上增加导师等其他属性就构成研究生类型。通常把已知类型称为超类(Superclass),新定义的类型称为子类(Subclass)。子类是超类的一个子集,即“is subset of”,如研究生是学生的一个子集。

2)E-R方法建模步骤

概念结构设计使用E-R方法建模工作步骤包括:

  • 选择局部应用。选择适当层次的数据流图,让这一层的每一部分对应一个局部应用,实现某一项功能。
  • 逐一设计分E-R图。划分好各个局部应用之后,就要对每一个局部应用逐一设计分E-R图。作为实体还是属性没有明确的界定,具情况而定,遵循以下两条原则:
    • 属性不可再分。属性不再具有需要描述的性质,不能有属性的属性。
    • 属性不能与其他实体发生联系,联系是实体与实体间的联系。
  • E-R图合并。合并的目的在于在合并过程中解决分E-R图中相互间存在的冲突,消除在分E-R图之间存在的信息冗余,使之成为能够被全系统所有用户共同理解和接受的统一的、精炼的全局概念模型。

E-R图进行合并时,存在的冲突如下:

  • 属性冲突:同一属性可能会存在于不同的分E-R图中,由于设计人员不同或是出发点不同,对属性的类型、取值范围、数据单位等可能会不一致,这些属性数据将来只能以一种形式在计算机中存储,这就需要在设计阶段进行统一。
  • 命名冲突:相同意义的属性,在不同的分E-R图上有着不同的命名,或是名称相同的属性在不同的分E-R图中代表着不同的意义,这些也需要进行统一。同名异义,异名同义
  • 结构冲突:同一实体在不同的分E-R图中有不同的属性,同一对象在某一分E-R图中被抽象为实体而在另一分E-R图中又被抽象为属性。对于这种结构冲突问题需要统一。

分E-R图的合并过程中需要进行优化:

  • 实体类型的合并:两个具有1:1联系或1:*联系的实体,可以予以合并,使实体个数減少,有利于减少将来数据库操作过程中的连接开销。
  • 冗余属性的消除:一般在各分E-R图中的属性是不存在冗余的,但合并后就可能出现冗余。
  • 冗余联系的消除:在分E-R图合并过程中,可能会出现实体联系的环状结构,即某一实体A与另一实体B间有直接联系,同时A又通过其他实体与实体B发生间接联系,通常直接联系可以通过间接联系所表达,可消除直接联系。

4.逻辑结构设计

逻辑结构设计即在概念结构设计的基础上进行数据模型设计,可以是层次模型、网状模型和关系模型。

逻辑结构设计阶段的主要工作步骤包括确定数据模型、将E-R图转换成为指定的数据模型、关系模式规范化、确定完整性约束和确定用户视图。

将E-R图转换成为指定的数据模型:

  • 实体向关系模式的转换。将E-R图中的实体逐一转换成为一个关系模式,实体名对应关系模式的名称,实体的属性转换为关系模式的属性,实体标识符就是关系的码。
  • 联系向关系模式的转换。
    • 一对一联系的转换。通常一对一联系不需要将其转换为一个独立的关系模式,只需要将联系归并到关联的两个实体的任一方,给待归并的一方实体属性集中增加另一方实体的码和该联系的属性即可,归并后的实体码保持不变。合并实体或者独立关系(新实体)
    • 一对多联系的转换。通常一对多联系也不需要将其转换为一个独立的关系模式,只需要将联系归并到关联的两个实体的多方,给待归并的多方实体属性集中增加一方实体的码和该联系的属性即可,归并后的多方实体码保持不变。合并实体或者独立关系(新实体)
    • 多对多联系的转换。多对多联系只能转换成一个独立的关系模式,关系模式的名称取联系的名称,关系模式的属性取该联系所关联的两个多方实体的码及联系的属性,关系的码是多方实体的码构成的属性组。独立关系(新实体)

由E-R图转换得来的初始关系模式并不能完全符合要求,还会有数据冗余、更新异常存在,这就需要经过进一步的规范化处理:

  • 根据语义确定各关系模式的数据依赖。
  • 根据数据依赖确定关系模式的范式。
  • 如果关系模式不符合要求,要根据关系模式的分解算法对其进行分解,达到3NF、BCNF或4NF。
  • 关系模式的评价及修正。根据规范化理论,对关系模式分解之后,就可以在理论上消除冗余和更新异常。但根据处理要求,可能还需要增加部分冗余以满足处理要求,这就需要做部分关系模式的处理,分解、合并或增加冗余属性,提高存储效率和处理效率。

5.数据库的物理设计

数据库在物理设备上的存储结构与存取方法,为一个给定的逻辑数据模型设计一个最适合应用要求的物理结构的过程,就是数据库的物理设计。

数据库的物理设计工作过程:逻辑设计阶段->数据库物理结构设计阶段(确定数据库的物理模式、评价数据库的物理模式)->数据库实施阶段。

数据库的物理设计是离不开具体的DBMS的,不同的DBMS对物理文件存取方式的支持是不同的,设计人员必须充分了解所用DBMS的内部特征,根据系统的处理要求和数据的特点来确定物理结构。

物理设计注意工作步骤包括确定数据分布、确定存储结构和确定访问方式。

数据的访问方式是由其存储结构所决定的,采用什么样的存储结构,就使用什么样的访问方式。

  • 存储记录结构设计。包括记录的组成、数据项的类型、长度和数据项间的联系,以及逻辑记录到存储记录的映射。
  • 存储记录布局。确定数据的存放位置。
  • 存储方法的设计。存储在物理设备(通常是外存储器)上的数据提供存储和检索的能力,是快速存取数据库中数据的技术

6.数据库的实施阶段

数据库系统的实施阶段是根据设计,由开发人员编写代码程序来完成的,包括数据库的操作程序和应用程序。

数据库实施阶段的工作过程:物理结构设计阶段->定义数据库->数据装入、编写应用程序->数据库试运行->数据库运行维护阶段。

使用SQL语言编写的数据库操作程序有:

  • 数据库建立程序,DDL语言。
  • 数据库操纵语言,DML语言。
  • 事务处理程序,对复杂的数据操作以事务的形式执行。
  • 存储过程和触发器程序。

数据加载(或称装入),进行试运行和评价的过程,叫作数据库的实施(或称实现)。

  • 建立实际的数据库结构。数据库模式与子模式、数据库完整性描述、数据库安全性描述、数据库物理存储参数描述。
  • 数据加载。数据加载前要建立严格的数据登录、录入和校验规范,设计完善的数据校验与校正程序,排除不合格数据。数据加载分为手工录入和使用数据转换工具两种。
  • 数据库试运行和评价。目的是测试应用程序的功能,测试数据库的运行效率是否达到设计目标,是否为用户所容忍。

7.数据库运行维护和管理

数据库系统投入使用,会面临数据的不断更新和频繁的访问,随着时间的推移,会出现各种情况影响数据库的效能和稳定,那么就需要如何保证数据库安全稳定地运行,针对运行中出现的各种问题如何解决,如何调整使得数据库系统发挥更大的效能。

7.1 制定数据库系统的运行计划

1)运行策略

正常运行策略是指正常运行状态下的数据库执行策略。

  • 系统运行对物理环境的要求。为保障系统的稳定运行,离不开系统的物理环境保障。物理环境包括运行场地的温度、湿度、通风条件、灰尘指标、电力供应等外部条件。
  • 系统运行对人员的要求。作为企业运行中的数据库,是需要专人服务的,包括成立数 据库运行管理机构,专门负责数据库系统的运行。
  • 数据库的安全性策略。数据库的运行离不开用户的访问和操作,安全性策略包括网络 安全、用户的权限管理、设备的安全、数据的安全等方面。
  • 数据库备份和恢复策略。数据库系统运行中数据是不断变更和增长的。有些系统会产生大量的数据,这些数据如果不能及时从系统中导出,系统的存储设备会很快占满而不能正常运行,需要根据业务量,制订数据备份策略,定期从系统中导出数据。同时备份也是系统故障恢复所必需的。

非正常运行策略是指在特殊时期的数据库运行策略。

  • 突发事件的应对策略。突发事件可能是突然断电、设备故障等因素,甚至可能是火灾、水灾等人力不可抗拒的自然灾害,必须要有及时的应对策略,如启动备用电源和备用设备,使系统能够正常运行。
  • 高负载状态的应对策略。数据库系统的高负载状态与企业的业务相关,有些是可以预计的,如节日中的话务系统,有些则是事先难以估计的,如大幅涨跌时的股票交易系统。针对高负载时的系统运行,也要求有正确的应对策略,进行系统负载平衡。

2)监控对象和监控方式

数据库系统监控的对象分别是系统性能、系统故障和系统安全,依照监控对象的不同,系统监控分为性能监控、故障监控、安全监控

  • 性能监控是掌握系统运行性能的手段。性能监控应当从资源占用率、事务响应时间、事务量、死锁、用户量等方面实现。
  • 故障监控是保障数据库系统正常运行的手段。从数据库系统故障的类型入手,监控事务故障、系统故障和介质故障,出现需要管理员干预的故障时及时恢复。
  • 安全监控是对破坏数据库安全事件的监控,包括入侵监控、用户访问监控、病毒监控等

数据库系统的监控方式分为系统监控和应用程序监控

  • 系统监控是通过DBMS提供的监控功能,进行参数设定后,由系统自动监控。不同的DBMS软件都不同程度上提供了监控功能,管理员可以有效地利用。
  • 应用程序监控需要管理人员根据具体情况编制应用程序进行系统监控,是对DBMS监控功能的补充。

系统日志是监控中的主要依据。日志文件详细记录了系统运行中的各种信息,管理员可以从日志文件中了解系统运行状态和事件,以此为据发现系统运行中的问题。

7.2 数据库系统的运行维护

1)监控数据的收集和分析

监控数据是发现系统问题和改进系统性能的依据。通常可以从DBMS系统监控功能指定的记录文件中获取,有些运行信息可能记录在系统日志中,管理员编制的监控脚本也可以指定监控数据的存储文件,从这些文件中可以得到监控数据。

监控数据是系统运行状态的反映,对于监控数据的分析,目的在于判定系统运行是否正常,是否满足设计要求和应用要求,出现问题的根源在哪里,给出解决问题的方案,为进一步改进系统提供依据。

  • 性能监控数据包括磁盘使用信息(碎片量、剩余空间、日志文件增涨情况),I/O操作数量、频度及响应时间,缓冲区命中率,事务量及锁状况。通过分析这些数据,找出影响性能的问题所在,为下一步性能调整提供依据。
  • 故障监控数据的分析,可以找出故障的原因,例如是事务处理程序的内部错误,还是系统 调度的问题,以及是否因为系统硬件故障,并做出相应的处理。
  • 安全监控数据主要是记录用户对数据库的访问和修改操作,可以通过日志文件得到,判定是否有未授权用户的存取,分析安全漏洞的原因,对用户管理和应用程序加以改进。

2)数据库的维护

数据库维护工作的内容主要包括对数据库的监测和性能改善、故障恢复、数据库的重组和重构。在数据库运行阶段,对数据库的维护主要由DBA完成。

  1. 对数据库性能的监测和改善
  • 性能可以用处理一个事务的I/O量、CPU时间和系统响应时间来度量。由于数据库应用环境、物理存储的变化,特别是用户数和数据量的不断增加,数据库系统的运行性能会发生变化。某些数据库结构(如数据页和索引)经过一段时间的使用以后,可能会被破坏。所以,DBA必须利用系统提供的性能监控和分析工具,经常对数据库的运行、存储空间及响应时间进行分析,结合用户的反映确定改进措施。目前的DBMS都提供一些系统监控或分析工具。例如,在SQL Server中使用SQL Server Profiler组件、Transaction-SQL工具和Query Analyzer组件等都可进行系统监测和分析。
  1. 数据库的备份及故障恢复
  • 数据库是企业的一种资源,所以在数据库设计阶段,DBA应根据应用要求制定不同的备份方案,保证一旦发生故障能很快将数据库恢复到某种一致性状态,尽量减少损失。数据库的备份及故障恢复方案,一般基于DBMS提供的恢复手段。
  1. 数据库重组和重构
  • 数据库的重组是指在不改变数据库逻辑和物理结构的情况下,去除数据库存储文件中的废弃空间以及碎片空间中的指针链,使数据库记录在物理上紧连。因为一些原因而对数据库的结构做修改,称为数据库重构。

数据库重组和重构的处理方法:

  • 修改属性列名或数据类型。由于修改表中的属性列名或数据类型,必须修改使用该表的应用程序,所以应尽量减少这样的修改
  • 增加和删除属性。只修改使用该列的应用程序
  • 修改约束。如果是DBMS支持的约束,如主码约束、参照完整性约束和检查约束,一般不需要修改应用程序,复杂的约束可以通过修改触发器程序实现。
  • 表的分解。可以通过建立与分解前表同名的视图来避免修改应用程序。但这样会相应引起性能的下降,如果分解是为了提高性能,则需要修改应用程序,只访问分解后的一个表。
  • 表的合并。通常也是为了提高系统性能,可以通过建立两个与原表同名的视图来避免应用程序的修改

文档是对系统结构和实现的描述,在系统设计开发和维护过程中起着重要的指导作用。文档必须与系统保持高度的一致性,否则会造成人为的困难和错误,甚至危及系统的生命。对于数据库重构中的所有修改,必须在文档中体现出来

常用数据库恢复的实现技术:

  • 数据转储(数据备份):静态转储(运行停止)有完全转储(全量)和增量转储。动态转储(数据库停止)。
  • 建立日志文件:检查点记录了数据库的正确状态点。

7.3 数据库系统的管理

1)字典管理

数据字典(Data Dictionary)是存储在数据库中的所有对象信息的知识库,存有用户信息、用户的权限信息、所有数据对象、表的约束条件、统计分析数据库的视图等信息。通常把数据字典中存储的数据称为元数据(Meta Data),是用来描述数据的,如字段的类型、长度等信息。系统对数据库的访问,是由数据字典中的元数据所提供的信息来访问具体数据的,同时也可以通过元数据了解数据库对象的信息。

2)完整性管理

在系统运行过程中对数据完整性的维护和管理采用两种方式:

  • 对于DBMS管理的约束,通过修改数据库的定义,如增加或删除实体完整性约束、参照完整性约束、检查约束来实现。
  • 对于应用程序实现的复杂的完整性约束,通过分析和修改应用程序,通常是采用触发器程序来实现。

应用程序通过DBMS完成I/O操作来访问数据。I/O操作的效率直接影响到系统的运行效率,提高系统访问效率的有效手段就是提高I/O操作的效率。

3)存储管理

通过以下手段进行存储管理,可有效地提高系统性能:

  • 索引文件和数据文件分开存储,事务日志文件存储在高速设备上。
  • 适时修改数据文件和索引文件的页面大小。
  • 定期对数据进行排序。
  • 增加必要的索引项。

除进行数据库的存储管理之外,也可以通过增加计算机内存、引入高速存储设备等方式来提高系统的访问效率

4)备份和恢复管理

备份计划的制订和实施:

  • 根据数据变更情况,设定合理的备份周期和备份时间,最好是在业务量最小的时段进行备份。
  • 事务日志文件保存在最稳定的存储设备上。
  • 定期在事务日志文件中加入检查点。

检查点记录了数据库的正确状态点,在数据库恢复过程中,就可以反向扫描日志文件,找到第一个检查点,执行Undo和Redo操作,减少恢复的时间开销。

5)并发控制与死锁管理

死锁的产生往往是因为事务程序的错误 。管理员通过系统监控工具或系统日志,找出频繁产生死锁的事务,分析死锁的原因,修改事务程序来减少死锁,提高系统的并发性。

6)安全性管理

  • 建立网络级安全,主要是防火墻的设置。
  • 操作系统级安全,进行登录用户的管理。
  • DBMS级安全,对访问数据库的用户进行密码验证。
  • 角色和用户的授权管理。
  • 建立视图和存储过程加强安全性。
  • 使用审计功能,为追纠非法入侵者法律责任提供证据,发现安全漏洞。

7.4 性能调整

系统的性能一方面取决于DBMS的性能及其参数设定,而在指定的DBMS环境下,与具体的应用系统也有很大的关系,可通过调整来提高性能。

1)SQL语句的编码检验

通过DBMS提供的监控和统计功能,找出频繁执行的SQL语句,通常是查询语句,对其进行优化,常用的策略如 下:

  • 尽可能地减少多表查询或建立物化视图(实表)。
  • 以不相关子查询替代相关子查询。
  • 只检索需要的列(不使用 * )。
  • 用带IN的条件子句等价替换OR子句。
  • 经常提交COMMIT,以尽早释放锁。

2)表设计的评价

在设计阶段,我们提出了关系模式的设计应当符合3NF或BCNF,目的是减少数据冗余和消除操作异常。

根据实际情况对表进行调整,原则如下:

  1. 如果频繁的访问是对两个相关的表进行连接操作,则考虑将其合并。
  2. 如果频繁的访问只是在表中的某 一部分字段上进行,则考虑分解表,将该部分单独作为一个表。
  3. 对于更新很少的表,引入物化视图。
  • 物化视图(Materialized View)是一种特殊的物理表,物化视图是相对普通视图而言的。
  • 普通视图是虚拟表(不存放数据的表),任何对视图的查询,都需要转换为对应的SQL语句进行查询。

3)索引维护和改进

在数据库运行期间,数据库系统管理员(DBA)必须对数据库的索引进行维护和改进。这是因为用户频繁地对数据进行增加、删除、修改等操作使得索引页发生碎块,所以DBA必须对索引进行维护。

调整索引的原则主要有如下四个方面:

  • 如果查询是瓶颈,则在关系上建立适应的索引,通常在作为查询条件的属性上建立索引,可以提高查询效率。
  • 如果更新是瓶颈,每次更新都会重建表上的索引,引起效率的降低,则考虑删除某些索引。
  • 选择适当的索引类型,如果是经常使用范围查询,则B树索引比散列索引更高效。
  • 将有利于大多数据查询和更新的索引设为聚簇索引。

4)设备增强

在数据库系统运行过程中,如果经过各种调整之后,仍不能满足性能要求,则应当考虑增强系统设备。

  • 引入高速的计算机。
  • 增加系统内存。
  • 使用高速的网络设备。
  • 高速的存储设备。

当然,设备的增强需要企业的资金投入,应当考虑合适的性价比和投入产出比,还需要说服决策者同意。

  • 14
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有请小发菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值