浅谈如何提高数据库访问效率获奖科研报告_第1页
浅谈如何提高数据库访问效率获奖科研报告_第2页
浅谈如何提高数据库访问效率获奖科研报告_第3页
浅谈如何提高数据库访问效率获奖科研报告_第4页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浅谈如何提高数据库访问效率获奖科研报告摘

要:在进行大数据处理软件或WEB站点设计时,数据库访问效率是用户对软件的基本要求,也是判断一个软件是否优良的重要标准。本文将从数据库设计、连接方式和数据检索方式三个方面来简单介绍几点提高数据库访问效率的办法。

关键词:数据库;效率;索引;SQL查询

1、引言

随着公司产品的发展,测试数据数据量的逐渐增大,数据库以其数据共享、数据冗余度低、数据独立性高、数据集中度高和数据一致性及可维护性高的五大优点,已经成为了公司软件进行大量、复杂数据处理的必选工具。因此,如何提高数据库访问效率也就成为了软件设计时需要重要考虑的问题之一,如处理不当,则会导致软件运行速度慢、系统卡死等重大问题。

2、数据库设计

2.1使用分布式数据库

分布式数据库,顾名思义,也就是数据库中的数据不是存储在同一场地,而是分布存储在多个场地。例如,长庆油田的数字化系统即采用了分布式数据库,由每个站点来管理该站下油井的基础数据和测试数据,然后通过数据同步技术来将本站所管理数据与厂级中心服务器进行数据同步。这种设计方案的优点是,局部应用的响应速度较快,可扩展性好,易于集成现有的系统。如公司要进行大量、多层次的数字化产品安装及系统实施,分布式数据库将是一个很好的数据处理技术方案。

2.2分类拆分数据量大的表

对于经常使用的数据表,由于其使用频率很高,要尽量减少表中的记录数量。例如,在功图计产软件中,将油井的计产参数细分为:静态参数表、动态参数表、原油物性表。这样既提高了数据库的访问效率,又提高了软件的可维护性。

2.3应用“三少”原则

1)数据库中的表越少越好。只有数据库中表的个数少了,才能说明系统的E-R图少而精,去掉了重复的、多余的实体,形成了对客观世界的高度抽象,进行了系统的数据集成;

2)一个表中组合主键的字段个数越少越好。因为主键的作用,一是建立主键索引,二是作为字表的外键,所以组合主键的字段个数少了,不仅节省了运行时间,而且节省了索引存储空间。

3)一个表中的字段个数越少越好。只有字段的个数少了,才能说明在系统中不存在数据重复,且很少有数据冗余,更重要的是督促使用者进行“列变行”,这样就防止了将子表中的字段拉入到主表中去,在主表中留下许多空余的字段。所谓“列变行”,就是将主表中的一部分内容拉出去,另外单独建一个子表。

2.4、创建索引

索引就是加快检索表中数据的方法。数据库的索引类似于书籍的索引。在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息。在数据库中,索引也允许数据库程序迅速地找到表中的数据,而不必扫描整个数据库索引具有以下5点优点:

1)创建唯一性索引,保证数据库表中每一行数据的唯一性

2)大大加快数据的检索速度,这也是创建索引的最主要的原因

3)加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。

4)在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。

5)通过使用索引,可以在查询的过程中使用优化隐藏器,提高系统的性能。

为了提高数据库访问效率,在创建索引时,一定要遵循以下几条原则:

1)表的主键、外键必须有索引;

2)数据量超过300的表应该有索引;

3)经常与其他表进行连接的表,在连接字段上应该建立索引;

4)经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;

5)索引应该建在选择性高的字段上;

6)索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;

7)复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:

A、正确选择复合索引中的主列字段,一般是选择性较好的字段;

B、复合索引的几个字段是否经常同时以AND方式出现在Where子句中?单字段查询是否极少甚至没有?如果是,则可以建立复合索引;否则考虑单字段索引;

C、如果复合索引中包含的字段经常单独出现在Where子句中,则分解为多个单字段索引;

D、如果复合索引所包含的字段超过3个,那么仔细考虑其必要性,考虑减少复合的字段;

E、如果既有单字段索引,又有这几个字段上的复合索引,一般可以删除复合索引;

8)频繁进行数据操作的表,不要建立太多的索引;

9)删除无用的索引,避免对执行计划造成负面影响;

10)索引分为聚集索引和非聚集索引,应根据具体所需查询条件来建立合适类型的索引。

3、数据库连接方式

传统的数据库连接方式,在动态WEB站点运行时,会频繁的建立和释放连接,降低数据库访问效率,增加系统的负担,成为了软件运行效率的瓶颈。而数据库连接池则是将已经创建好的连接保存在池中,当有请求来时,直接使用已经创建好的连接对数据库进行访问。这样省略了创建连接和销毁连接的过程,在性能上得到了提高。

数据库连接池的工作机制为,当服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。

4、数据检索方式

数据检索的优化主要是根本数据库的设计方案和查询条件来设计相应的SQL查询方案,从而减少数据检索时间,提高现有资源的利用率。优化数据检索的方法主要有以下几种:

1)应尽量避免在where子句中对字段进行null值判断,否则将导致引擎放弃使用索引而进行全表扫描;

2)应尽量避免在where子句中使用!=或<>操作符,否則将引擎放弃使用索引而进行全表扫描;

3)应尽量避免在where子句中使用or来连接条件,否则将导致引擎放弃使用索引而进行全表扫描;

4)应尽量避免在where子句中对字段进行表达式操作,这将导致引擎放弃使用索引而进行全表扫描;

5)任何地方都不要使用select*fromt,用具体的字段列表代替“*”,不要返回用不到的任何字段;

6)在所有的存

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论