摘要
从事前端开发的都知道,页面显示的数据一定要及时的呈现,否则会影响用户体现。那么导致页面加载数据慢或者显示滞后的原因又是什么呢?蓝鸥广州web前端培训整理刚哥的一篇数据库查询速度优化方案分享给大家。
拿自己之前做项目经历给大家讲讲吧,之前做后台,当时的项目实时性都非常高,前端页面实时显示要求非常高,慢1秒显示都会导致用户的投诉,最后没办法,通过本地(磁盘)磁缓存跟数据表分割来解决这一问题。
原因分析
主要原因1:后台数据库中的数据过多,没做数据优化导致后台查询数据很慢
次要原因2:前端数据请求——解析——展示过程处理不当
次要原因3:网络问题所致
那么我们应该怎么做后台数据优化呢?
解决问题
这里总结了几种方案,如何提高数据库查询的速度,大家参考。
1、缓存,在持久层或持久层之上做缓存
使用ehcache缓存,这个一般用于持久层的缓存,提供持久层、业务层的快速缓存,hibenate默认使用的二级缓存就是ehcache;
2、数据库表的大字段剥离
假如一个表的字段数有100多个,学会拆分字段,保证单条记录的数据量很小;
3、恰当地使用索引
必要时建立多级索引,分析MySQL的执行计划,通过表数据统计等方式协助数据库走正确的查询方式,该走索引就走索引,该走全表扫描就走全表扫描;
4、表的拆分
表分区和拆分,无论是业务逻辑上的拆分(如一个月一张报表、分库)还是无业务含义的分区(如根据ID取模分区);
5、字段冗余
减少跨库查询和大表连接操作;,数据通过单个或多个JOB生成出来,减少实时查询;
6、从磁盘上做文章
数据存放的在磁盘的内、外磁道上,数据获取的效率都是不一样的;
7、放弃关系数据库的某些特性
引入NoSQL数据;
换种思路存放数据,例如搜索中的倒排表。
如果对编程感兴趣,想了解更多的编程知识,解决编程问题,以及入门指导,帮你解决编程中遇到的困惑,蓝鸥广州web前端培训机构的培训开发项目全部来自于真实的企业项目,单独项目代码量超过5万行。为了让学员尽快的进入到企业开发的项目中,蓝鸥使用自主开发的产品和为客户定制的企业产品为案例,大批蓝鸥广州HTML5培训就业班学员都从中收益。