1 / 4
文档名称:

数据库性能优化方案.docx

格式:docx   页数:4页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据库性能优化方案.docx

上传人:cxmckate1 2016/6/20 文件大小:0 KB

下载得到文件列表

数据库性能优化方案.docx

文档介绍

文档介绍:智欣仙子 1 /4 数据库性能优化方案随着计算机技术越来越广泛地应用于国民经济的各个领域, 在计算机硬件不断微型化的同时, 应用系统向着复杂化、大型化的方向发展。数据库的性能优化大体上可以分成数据库结构设计、查询语句优化、缓存查询结果。数据库结构设计在软件系统开发中, 数据库设计应遵循必要的数据库范式理论, 以减少冗余、保证数据的完整性与正确性。只有在合适的数据库产品上设计出合理的数据库模型, 才能降低整个系统的编程和维护难度, 提高系统的实际运行效率。虽然对于小项目或中等规模的项目, 开发人员可以很容易地利用范式理论设计出一套符合要求的数据库, 但对于一个包含大型数据库的软件项目,就必须有一套完整的设计原则与技巧。数据冗余数据应该尽可能少地冗余, 这意味着重复数据应该减少到最少。比如说, 一个部门雇员的电话不应该被存储在不同的表中, 因为这里的电话号码是雇员的一个属性。如果存在过多的冗余数据, 这就意味着要占用了更多的物理空间, 同时也对数据的维护和一致性检查带来了问题, 当这个员工的电话号码变化时, 冗余数据会导致对多个表的更新动作, 如果有一个表不幸被忽略了,那么就可能导致数据的不一致性。添加索引对于大的数据库表, 合理的索引能够提高整个数据库的操作效率。在索引设计中, 索引字段应挑选重复值较少的字段; 在对建有复合索引的字段进行检索时, 应注意按照复合索引字段建立的顺序进行。例如, 如果对一个5万多条记录的流水表以日期和流水号为序建立复合索引, 由于在该表中日期的重复值接近整个表的记录数, 用流水号进行查询所用的时间接近3秒; 而如果以流水号为索引字段建立索引进行相同的查询, 所用时间不到1秒。因此在大型数据库设计中,只有进行合理的索引字段选择,才能有效提高整个数据库的操作效率。分类拆分对于经常使用的表(如某些参数表或代码对照表) ,由于其使用频率很高,要尽量减少表中的记录数量。例如, 银行的户主账表原来设计成一张表, 虽然可以方便程序的设计与维护, 但经过分析发现, 由于数据量太大, 会影响数据的迅速定位。如果将户主账表分别设计为活期户主账、定期户主账及对公户主账等,则可以大大提高查询效率。智欣仙子 2 /4 行为拆分对用户的行为进行分析, 那些是需要频繁操作的数据, 那些是乘积数据, 对这两种数据分别存放。比如,一个会员系统的会员基本属性有:会员 ID 、登录账号、登录密码、网络昵称、联系方式、联系地址等。我们设想一下, 现有一个会员 A 要求登录( select ), 另外有一个会员 B 要求更新自己的联系方式( update ) ,并且上面前面提到的所有属性都建立在一张表上面,由于数据库的锁机制,会员 B 必须等待会员 A 的验证通过之后才能执行自己修改请求; 如果还有一个会员 C 也要求登录( select ), 那么会员 B 就需要等待会员 A 和会员 C 都通过验证之后才会执行自己的修改请求。这种情况我们就可以将基本属性分解成两个表: 会员编号、登录账号、登录密码,会员编号、网络昵称、联系方式、联系地址。标签设计几乎每个交互式站点都提供搜索功能,许多 CMS 信息系统还设计了一个关键词标签用于对文章的检索。对于搜索语句大部分人都会想到和用到 like 语句, 这是基本思路无可否非, 但如果被检索的数据表存在上百万的数据, 这样检