没有合适的资源?快使用搜索试试~ 我知道了~
数据库优化存储设计方案
5星 · 超过95%的资源 需积分: 44 21 下载量 49 浏览量
2011-05-23
12:59:00
上传
评论
收藏 33KB DOC 举报
温馨提示
试读
5页
数据库优化存储设计方案本文首先讨论了基于第三范式的数据库表的基本设计,着重论述了建立主键和索引的策略和方案,然后从数据库表的扩展设计和库表对象的放置等角度概述了数据库管理系统的优化方案。
资源推荐
资源详情
资源评论
本文首先讨论了基于第三范式的数据库表的基本设计,着重论述了建立主键和索引的策略
和方案,然后从数据库表的扩展设计和库表对象的放置等角度概述了数据库管理系统的优
化方案。
1 引言
数据库优化的目标无非是避免磁盘 I/O 瓶颈、减少 CPU 利用率和减少资源竞争。为了
便于读者阅读和理解,笔者参阅了 Sybase、Informix 和 Oracle 等大型数据库系统参考
资料,基于多年的工程实践经验,从基本表设计、扩展设计和数据库表对象放置等角度进
行讨论,着重讨论了如何避免磁盘 I/O 瓶颈和减少资源竞争,相信读者会一目了然。
2 基于第三范式的基本表设计
在基于表驱动的信息管理系统(MIS)中,基本表的设计规范是第三范式(3NF)。
第三范式的基本特征是非主键属性只依赖于主键属性。基于第三范式的数据库表设计具有
很多优点:一是消除了冗余数据,节省了磁盘存储空间;二是有良好的数据完整性限制,
即基于主外键的参照完整限制和基于主键的实体完整性限制,这使得数据容易维护,也容
易移植和更新;三是数据的可逆性好,在做连接(Join)查询或者合并表时不遗漏、也不
重复;四是因消除了冗余数据(冗余列), 在查询(Select)时每个数据页存的数据行就
多,这样就有效地减少了逻辑 I/O,每个 Cash 存的页面就多,也减少物理 I/O;五是对大
多数事务(Transaction)而言,运行性能好;六是物理设计(Physical Design)的机动性较
大,能满足日益增长的用户需求。
在基本表设计中,表的主键、外键、索引设计占有非常重要的地位,但系统设计人员
往往只注重于满足用户要求,而没有从系统优化的高度来认识和重视它们。实际上,它们
与系统的运行性能密切相关。现在从系统数据库优化角度讨论这些基本概念及其重要意义:
(1)主键(Primary Key):主键被用于复杂的 SQL 语句时,频繁地在数据访问中被
用到。一个表只有一个主键。主键应该有固定值(不能为 Null 或缺省值,要有相对稳定
性),不含代码信息,易访问。把常用(众所周知)的列作为主键才有意义。短主键最佳
(小于 25bytes),主键的长短影响索引的大小,索引的大小影响索引页的大小,从而影
响磁盘 I/O。主键分为自然主键和人为主键。自然主键由实体的属性构成,自然主键可以
是复合性的,在形成复合主键时,主键列不能太多,复合主键使得 Join*作复杂化、也增加
了外键表的大小。人为主键是,在没有合适的自然属性键、或自然属性复杂或灵敏度高时,
人为形成的。人为主键一般是整型值(满足最小化要求),没有实际意义,也略微增加了
表的大小;但减少了把它作为外键的表的大小。
(2)外键(Foreign Key):外键的作用是建立关系型数据库中表之间的关系(参
照完整性),主键只能从独立的实体迁移到非独立的实体,成为后者的一个属性,被称为
外键。
(3)索引(Index):利用索引优化系统性能是显而易见的,对所有常用于查询中的
Where 子句的列和所有用于排序的列创建索引,可以避免整表扫描或访问,在不改变表的
物理结构的情况下,直接访问特定的数据列,这样减少数据存取时间;利用索引可以优化
或排除耗时的分类*作;把数据分散到不同的页面上,就分散了插入的数据;主键自动建立
资源评论
- wanglucky2212015-02-14这个东西不错,就是表格图形太少
laoda123yuan
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 直接插入排序,冒泡排序,直接选择排序.zip
- 在排序2的基础上,再次对快排进行优化,其次增加快排非递归,归并排序,归并排序非递归版.zip
- 实现了7种排序算法.三种复杂度排序.三种nlogn复杂度排序(堆排序,归并排序,快速排序)一种线性复杂度的排序.zip
- 冒泡排序 直接选择排序 直接插入排序 随机快速排序 归并排序 堆排序.zip
- 课设-内部排序算法比较 包括冒泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、归并排序和堆排序.zip
- Python排序算法.zip
- C语言实现直接插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序、归并排序、计数排序,并带图详解.zip
- 常用工具集参考用于图像等数据处理
- 音乐展示网页、基于Stenography的图像数字水印添加与提取,以及基于颜色矩和Tamura算法的图像相似度评估算法py源码
- 基于EmguCV(OpenCV .net封装),图像数字水印加解密算法的实现,其中包含最低有效位算法,离散傅里叶变换算法+文档书
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功