客服热线:4007788xxx

沈阳Java技术笔记(十三)数据库的性能优化

2019-07-16 14:10 浏览:7 评论:0 来源:华夏商务网   
核心摘要:数据库优化是一个很广的范围,涉及到的东西比较多,并且每个特定的数据库,其具体的优化过程也是不一样的。一般情况下,数据库的优化指的就是查询性能的优化(虽然严格上来说不应该是这样的),让数据库对查询的响应尽可能的快。仅对数据库系统本身而言,影响到查询 性能的因素从理论上来讲,包括数据库参数设置(其实就是通过参数

数据库优化是一个很广的范围,涉及到的东西比较多,并且每个特定的数据库,其具体的优化过程也是不一样的。

一般情况下,数据库的优化指的就是查询性能的优化(虽然严格上来说不应该是这样的),让数据库对查询的响应尽可能的快。仅对数据库系统本身而言,影响到查询 性能的因素从理论上来讲,包括数据库参数设置(其实就是通过参数控制数据库系统的内存,i/o,缓存,备份等一些管理性的东西),索引,分区,sql语句.数据库参数设置本身是一个很复杂的东西,分区则主要是针对大数据量的情况下,它分散了数据文件的分布,减少磁盘竞争,使效率得到提升。

数据库优化:

1、 查询出的数据量过大(可以采用多次查询,其他的方法降低数据量),尽量采取分页查询数据

2、锁或者死锁(这也是查询慢常见的问题,是程序设计的缺陷)

3、返回了不必要的行和列

OR的字句可以分解成多个查询,并且通过UNIOn链接多个查询。它们的速度只与是否使用索引有关,如果查询需要用到联合索引,用UNIOn all执行的效率更高。

4、如果是使用like进行查询的话,简单的使用index是不行的,但是全文索引,耗空间。 like 'a%' 使用索引 like '%a' 不使用索引用 like '%a%' 查询时,查询耗时和字段值总长度成正比,所以不能用CHAR类型,而是VARCHAR。对于字段的值很长的建全文索引。

5、 尽量将数据的处理工作放在服务器上,减少网络的开销,如使用存储过程。存储过程是编译、优化过,并且被组织到一个执行规划里,且存储在数据库中的SQL语句(存储过程是数据库服务器端的一段程序),是控制流语言的集合,速度当然快。

6、将需要查询的结果预先计算好放在表中,查询的时候再Select。这在SQL7.0以前是最重要的手段。例如计算商品购买小计计算。

7、没有必要时不要用DISTINCT和ORDER BY,这些动作可以改在客户端执行。它们增加了额外的开销。这同UNIOn和UNIOn ALL一样的道理。

8、一次更新多条记录比分多次更新每次一条快,就是说批处理好

9、用临时表,尽量用结果集和Table类性的变量来代替它,Table 类型的变量比临时表好

10、数据库设计:数据库内所有表结构均添加索引

调整原因:

近日数据库压力很大,经查有些大数据量表的查询速度很慢,导致数据库服务器CPU一直持续90%-100%,将这些表添加索引后,CPU很快变正常。

根据查询条件,建立索引,优化索引、优化访问方式,限制结果集的数据量。注意填充因子要适当(最好是使用默认值0)。索引应该尽量小,使用字节数小的列建索引好(参照索引的创建),不要对有限的几个值的字段建单一索引如性别字段

11、 将大数据表做分库、分区处理:

具体操作如下:

1)、将大数据表与主数据库分离,单独新建一个数据库,然后将这些表做分区;

2)、将数据插入到消息队列内,后台利用windows计划任务执行(5分钟执行一次)C#控制台程序将消息队列内的数据批量(消息队列内有50000条记录,一次性插入到数据表内)插入到相应的数据表内;

调整原因:

例如:用户访问日志,每次用户访问一个页面的时候我们之前的操作是直接将数据插入数据库,这样做对数据库的访问及操作太大,严重影响其他数据插入、查询的效率,利用分库、分区、消息队列完成此操作的好处是用户访问页面的时候不直接对数据库操作,而是在消息队列内积累一定数量的数据后批量插入数据库,只执行一次数据库操作,而且因为数据库分离的原因,对其他的查询及插入不会有影响。

千锋教育:http://www.mobiletrain.org/

千锋哈尔滨校区:http://hrb.mobiletrain.org/

哈尔滨校区地址:哈尔滨市松北区创新一路699号科技创新城19号楼五楼

培训咨询专线:17710405956

   QQ  : 1240739179   联系人:安老师

面授课程:全栈Web开发+培训、全链路设计培训、PHP全栈+服务器集群培训、JavaEE+分布式开发培训、大数据+人工智能培训、 Unity游戏开发培训、Python培训、云计算+Python运维培训、全栈软件测试培训、Android培训、iOS培训、好程序员

 

(责任编辑:小编)
下一篇:

大棚迷你挖土机履带式自走挖掘机

上一篇:

矿用气动隔膜泵-直销-质优价廉/客户首选

打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们liao@ieccap.org
 
0相关评论