2020.10迪佛笔试知识

it2023-12-16  84

数据库查询的优化 摘要

从事前端开发的都知道,页面显示的数据一定要及时的呈现,否则会影响用户体现.那么导致页面加载数据慢或者显示滞后的原因又是什么呢?

拿自己之前做项目经历给大家讲讲吧,之前做后台,当时的项目实时性都非常高,前端页面实时显示要求非常高 ,慢1秒显示都会导致用户的投诉,最后没办法,通过本地(磁盘)缓存跟数据表分割来解决这一问题.

那么我们应该怎么做后台数据优化呢? 解决问题 这里总结了几种方案,如何提高数据库查询的速度,大家参考. 1、缓存,在持久层或持久层之上做缓存; 使用ehcache缓存,这个一般用于持久层的缓存,提供持久层、业务层的快速缓存,hibenate默认使用的二级缓存就是ehcache 2、数据库表的大字段剥离 假如一个表的字段数有100多个,学会拆分字段,保证单条记录的数据量很小

3、恰当地使用索引; 必要时建立多级索引,分析MySQL的执行计划,通过表数据统计等方式协助数据库走正确的查询方式,该走索引就走索引,该走全表扫描就走全表扫描; 4、表的拆分 表分区和拆分,无论是业务逻辑上的拆分(如一个月一张报表、分库)还是无业务含义的分区(如根据ID取模分区); 5、字段冗余 减少跨库查询和大表连接操作;,数据通过单个或多个JOB生成出来,减少实时查询; 6、从磁盘上做文章 数据存放的在磁盘的内、外磁道上,数据获取的效率都是不一样的; ###7、放弃关系数据库的某些特性 引入NoSQL数据库; 换种思路存放数据,例如搜索中的倒排表;

三种排序 https://blog.csdn.net/qq_31702609/article/details/81293023 斐契那波递归算法 public class DiGui { public static void main(String[] args){ //数列:1,1,2,3,5,8 … System.out.print( f(6) );//输出数列的第几位 } public static int f(int n){ if( n == 1 || n == 2 ) return 1; else return f( n - 1 )+f( n - 2 ); } } 基本的数据库查增删改语句书写

拉姆达表达式进行的筛选

最新回复(0)