浅谈如何提高数据库访问效率

来源 :科学导报·学术 | 被引量 : 0次 | 上传用户:yobisisi
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘  要:在进行大数据处理软件或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 * from t,用具体的字段列表代替“*”,不要返回用不到的任何字段;
  6)在所有的存储过程和触发器的开始处设置 SET NOCOUNT ON,在结束时设置 SET NOCOUNT OFF。无需在执行存储过程和触发器的每个语句后向客户端发送 DONE_IN_PROC 消息;
  7)尽量避免向客户端返回大数据量,若数据量过大,应该考虑相应需求是否合理。
  参考文献
  [1]  施瓦茨,扎伊采夫,特卡琴科.高性能MySQL.电子工业出版社,2013
其他文献
摘 要:在电气系统的运行与管理中,电气系统自动化技术不仅具有极其重要的作用,而且作为整个电气系统的核心,它能够有效提升我国电气系统以及电网系统管理与运行的高效性、安全性和稳定性。由此可见,电气自动化技术在我国所有与电气工程相关的技术中,具有不可替代的作用。在本文中,笔者从电气工程及其自动化的相关概述入手,深入分析了电气自动化技术在电气工程中的应用状况,以期使我国的电气工程能够更好地应用电气自动化技
期刊
摘 要:经济管理现代化发展是为了满足当前时代的需求,以促使企业提高管理水平,增强市场竞争能力。本文从经济管理现代化概念入手,深入进行分析,明确其现代发展呈现出的特点,提出有效的创新策略,探讨其未来发展新趋势。  关键词:经济管理;现代化;发展趋势  经济的繁荣发展促使企业在发展过程中需要面临较大市场压力,只有完善自身的经济管理,明确未来的经济管理发展趋势才能促使企业积极进行改革,将经济管理现代化作
期刊
摘 要:通信工程作为信息领域建设发展的一个重要课题,是包括光纤传输、网络通信和移动通信等在内的一项重大工程。目前随着4G网络的快速发展和光纤传输的不断升级优化,通信工程得到了飞速发展。基于此,本文从通信工程的发展历程入手,对通信工程的发展现状与未来技术革新进行了详细的论述。  关键词:通信工程;光纤传输;发展历程;技术革新  1.引言  通信工程(也称为电信工程,原来称作弱电工程和远距离通信工程)
期刊
摘要:随着社会的发展,电力已成为我们生活的必需品。中国是一个人口众多的国家,城市和农村地区需要电力。随着发展,我国电力工程的发展也发生了很大的变化。但是,我国电力工程的某些方面仍然存在很落后的地方。这是关于一个国家能否有效和稳定地运作。本文分析并找出了电力工程输电线路施工技术管理中存在的问题。  关键词:电力工程;质量控制;施工技术;管理流程  近年来,电网建设以超常规的速度发展。大规模、高速度的
期刊
摘 要:核电站大修项目计划管理是在核电站运行管理中比较重要的一项管理内容,为了更好提升项目检修计划管理质量,需要注重对项目管理计划制定,并且在管理方法的控制上,作出科学的改进。鉴于此,本文针对核电站大修项目计划管理的方法探讨进行了分析,力图在本文的研究帮助下,找到核电站大修项目计划管理方法,从管理软件的选择以及管理方法的实施上提升核电站大修项目计划管理水平。  关键词:核电站;大修项目;计划管理;
期刊
摘 要:随着时代的发展社会的进步,在当今激烈的市场竞争环境下,企业对人才的要求也在逐渐的提升。中职院校为社会输出了大量的技术型实用人才,为了能够使机电技术应用人才满足企业当今发展的需求,中职院校通过校外实训的方式对学生进行实践培养,使得学生能够在今后走向社会的求职过程中具备有利的竞争优势。基于此,本文将对机电技术应用专业校外实训基地建设的策略展开论述,为广大的中职院校教育工作者提供参考。  关键词
期刊
近代苏俄的历史告诉我们,如果没有列宁,俄国共产党在1917年不可能夺取到政权;如果没有列宁,那么俄共就不会采取“新经济”政策,苏维埃政权肯定会走向失败。  1918年至1921年初,苏俄实行的“战时共产主义体制”导致俄国社会经济在内忧外患中开始大崩溃。作为俄国革命中力挽狂澜的人——列宁并没有因为身患恶疾而放弃对生存的思索。他比当时其他任何革命领导者更深刻、更清醒地意识到,革命犯了严重的错误。在19
期刊
摘 要:在现代计算机技术与网络技术快速发展的情况下,计算机网络取得了突飞猛进的发展,而且其应用范围也变得越来越广。从当前的情况来看,对于计算机网络的管理以及安全防护已经成为了计算机网络实际使用期间的一项重要工作,而通过这项工作,能够为计算机网络应用的安全性与有效性提供可靠的保障。在本文中,笔者将计算机网络信息管理工作当作研究对象,基于计算机网络信息管理的重要性,深入分析了其存在的问题,并提出了相应
期刊
摘 要:機械零件测绘是一门实践性很强的课程。本文针对高职学生的培养目标,结合学校的教学条件,分析学生在课程教学中存在的问题,以激发学生学习积极性为前提,就我校《机械零件测绘》的课程改革进行了积极地尝试和有效的探索。  关键词:零件测绘;教学方法;课程改革  引言  机械零件测绘课程是工科类高校学生的一门专业基础课程,是重要的实践教学环节。它不仅可以提高学生的绘图能力、空间想象能力和动手能力,使学生
期刊
摘 要:相信大家都知道,公共卫生事业对社会发展和进步有着重要影响,而充分利用媒体有利于实现公共卫生事业可持续发展,所以在促进公共卫生事业发展中需要重视媒体的作用。基于此,本文从国内外公共卫生的研究分析、媒体在公共卫生事业中的重要作用以及我国公共卫生事业和媒体的应对措施三个方面,详细介绍了发挥媒体作用促进公共卫生事业发展,希望可以为有关人士提供参考意见。  关键词:媒体作用;公共卫生事业;发展;促进
期刊