程序性能优化总结

来源:互联网 发布:au for mac中文破解版 编辑:程序博客网 时间:2024/05/21 10:39

      上周一周都在做性能优化。

      要在数据库查询之后,维护好关联关系,然后把这些数据索引到elasticsearch中。关联关系中有一对多,一对一关系。如为一对多,一为索引,多为索引下属性的一个数组;若为一对一,则前一为索引,后一为索引下类型的一个属性(为对象)。维护关联关系时,对应关系要根据外键一个个查,然后组装。通常数据库增/删/改一个实体,索引库中好几个索引都要更新数据,此时就要重新查好几次数据库,非常耗性能。

     在同事的帮助下,目前性能已得到很大的提升,以前15W数据用时30分钟,目前用时不到2分钟。但还有优化空间,还在研究中。

     现阶段主要优化措施如下:

     1.先用new Date().getTime()找出各操作步骤最耗时的代码是什么,然后想办法优化。

     2.数据库查询耗时:把数据库的单次查询或者修改都改为批量操作,然后通过程序来组装数据。批次插入或者批次修改,删除。主要用到sql in语句。

     3.某个方法耗时:删掉不重要的无关代码。

     4.数据库某些列建索引。


   感叹:没有最快,只有更快。快成闪电。在性能优化的路上精益求精。

原创粉丝点击