做有温度的教育!
全国统一咨询热线:400-803-9399
北京
校区
新闻资讯> 技术分享> 如何优化数据库,提高数据库的性能?

如何优化数据库,提高数据库的性能?

时间:2018-11-12
浏览:5488
发布:甲骨文华育兴业
赞:1571

提升数据库性能可以提升查询速度,优化数据库结构,减少服务器压力等,那么如何优化数据库呢?来看看下面的文章!


  1.数据库I/O方面硬件性能

  最有可能影响性能的是磁盘和网络吞吐量。解决办法:

  · 扩大虚拟内存,并保证有足够可以扩充的空间

  · 把数据库服务器上的不必要服务关闭掉

  · 把SQL数据库服务器的吞吐量调为最大


  2.调整数据库

  · 若对该表的查询频率比较高,则建立索引。

  · 分区(如MySQL,按时间分区)

  · 尽量使用固定长度字段和限制字段长度(如 varchar(10))优势:

  降低物理存储空间

  提高数据库处理速度

  附带校验数据库是否合法功能


  3.使用存储过程

  应用程序的实现过程中,能够采用存储过程实现的对数据库的操作尽量通过存储过程来实现。

  因为存储过程是存放在数据库服务器上的一次性被设计、编码、测试,并被再次使用,需要执行该任务的应用可以简单地执行存储过程,并且只返回结果集或者数值。

  这样不仅可以使程序模块化,同时提高响应速度,减少网络流量,并且通过输入参数接受输入,使得在应用中完成逻辑的一致性实现。


  4.SQL语句方面

  建立查询条件索引仅仅是提高速度的前提条件,响应速度的提高还依赖于对索引的使用。不良的SQL往往来自于不恰当的索引设计、不充份的连接条件和不可优化的where子句。

  · 优化sql语句,减少比较次数

  · 限制返回条目数(mysql中使用limit)


  5.Java方面

  · 尽可能的少创造对象

  · 合理摆正系统设计的位置。大量数据操作,和少量数据操作一定是分开的。

  · 合理利用内存,有的数据要缓存。让数据流起来,而不是全部读到内存再处理,而是边读取边处理。


人生从业之路的第一步,从甲骨文华育兴业开始,

背后付出的辛苦与努力只有自己知道,而这也只是职业生涯的开始。

勤恳努力的人终会得到最好的回报,有些努力需要时间来回答

你吃的苦终会铺成你想要的路!

甲骨文华育兴业,为你的IT之路开启梦想之门!


【版权与免责声明】如发现内容存在版权问题,烦请提供相关信息联系我们,我们将及时沟通与处理。本站内容除非来源注明甲骨文华育兴业,否则均为网友转载,涉及言论、版权与本站无关。


相关推荐

大数据技术栈

大数据技术栈

数据是个很泛的概念,但是我们脑海里第一反应的就是关系型数据库和EXCEL这种二维表是数据。 而现在数据各种各样特色,有文档、有图片、有流式的音频视频、有日志数据、有IM消息数据、有索引数据、有社交应用的网状关系数据、有地图数据。他们对存储访问都有不同的要求,因而NoSQL兴起了。

大数据开发

hadoop的I/O操作

hadoo用户希望系统在存储和处理数据时不会丢失或损坏任何数据,这样数据的完整性就显得尤为重要。HDFS会对写入的所有数据计算校验和并在读取数据时验证校验和,其实HDFS存储着每个数据块的复本,一旦校验数据损坏,就将损坏的数据复制到另一个datanode,然后将这个数据的复本复制到当前需要读取的datanode上,一旦数据读取成功,就将已损坏的数据块删除。hadoop的LocalFileSystem执行客户端的校验和验证,它是通过ChecksumFileSystem来完成自己的任务。   三、压缩   文件压缩与两大好处,减少存储文件所所需要的磁盘空间,并加速数据在网络上的传输,多于大数据量时就就显得更加的重要。压缩的格式有很多种,各有千秋,gzip是一个通用的压缩工具,因为在空间和时间性能上都是比较均衡的。   java中已经提供的API,实现codec接口来完成的一种压缩-解压缩的算法。   前面也说到了,有的压缩格式是不支持输入分片的,也就是说是否可以搜索数据流的任意位置并进一步往下读取数据。很明显gzip是不行的,但是bzip2是可以的,对于MapReduce这种需要分片读取的时候选择什么样的压缩方式就显得尤为重要。   四、序列化   序列化指的是将结构化对象转化为字节流以便在网络上传输或写到磁盘进行永久存储的过程,反序列化是指将字节流转回结构化对象的逆过程。hadoop使用的是自己的序列化格式Writable,它绝对紧凑、速度快,但是不太容易用java以外的语言进行扩展或使用。基于“接口定义语言”(Interface Description Language IDL)的序列化框架有Apache Thrift和Google Protocol Buffers是两个比较流行的序列化框架。   五、Apache Avro   Apache Avro是一个独立于编程语言的数据序列化系统,是由Doug Cutting创建,旨在解决hadoop中Writable类型的不足:缺乏语言的可移植性。拥有一个可以被多种语言处理的数据格式与绑定到单一语言的数据格式相比,前者更易于与公众共享数据集,同时也更具有生命力,该语言将使得数据具有更长的生命周期,即时原先用于读/写该数据的语言已经不再使用。与上面的两种框架相比,Avro数据是与语言无关的模式定义的,但是与其他系统不同的是,代码生成是可选的,并且Avro的模式通常用JSON来写,当然还有一种高级语言称为Avro IDL,可以使用C语言编写。

大数据开发

Mysql数据库与Python

在众多数据库中 mysql作为开源数据库中使用率最高的一直受到各界的欢迎,作为大数据流行的当下mysql和python又会碰撞出怎样的火花呢?我们一起来看看!

大数据开发

《Hadoop权威指南》---相关框架

hadoop之所以能够这么流行,主要是集成了很多其他优秀的框架,下面就来看看这些有用的框架。

大数据中hadoop是什么? ps使用 大数据 冲刺Java架构师年薪50W

友情链接: 甲骨文华育兴业哈尔滨校区 甲骨文华育兴业长春校区 魔据教育 音乐培训 青海律师

Copyright ©2016-2019. All Rights Reserved. 京ICP备17018991号-4

网站地图