面试
文章平均质量分 66
懒虫虫~
无论人生上到哪一层台阶,阶下有人在仰望你,阶上亦有人在俯视你。你抬头自卑,低头自得,唯有平视,才能看见真实的自己!
展开
-
用空间换时间思路解决生产环境慢SQL性能问题总结
有个报表业务,需要查询当天之前的数据,涉及到6张表的关联查询,有些关联字段并没有索引而且有张表数据量达到了千万级,这个接口查询响应时间平均6~7分钟,别说用户忍不了,我们开发自己也真的忍不了!由于是小众业务场景,其它开发任务比较紧急,所以一直做为遗留技术债进行排期修复,这次终于把修复此慢SQL接口纳入开发管道中了!原创 2024-09-07 00:00:14 · 277 阅读 · 0 评论 -
关于模糊查询业务的一点思考
注意点:在业务数据量少的场景下,这样写没问题。但是如果数据量非常多,这样首先查询性能非常耗时,而且查询出来太多数据也不太符合公司内人员敏感信息安全规范和期望结果。所以要对查询结果处理,我这里的处理方式就是利用limit限制查询条数,这样既符合敏感信息安全规范,也一定量提升了查询效率,避免对服务器内存造成过大压力。最近项目上线了一个小的功能,业务逻辑非常简单,就是人员联想功能:2张表的关联模糊查询。实现方案:就是无脑在sql中利用like模糊查询。原创 2024-05-20 20:27:44 · 137 阅读 · 0 评论 -
聊聊接口优化的几个方法
2、业务逻辑复杂3、线程池设计不合理4、锁设计不合理5、机器问题(fullGC,机器重启,线程打满)所谓的深度分页问题,涉及到mysql分页的原理。通常情况下,mysql的分页是这样写的:含义当然就是从student表里查100到120这20条数据,mysql会把前120条数据都查出来,抛弃前100条,返回20条。当分页所以深度不大的时候当然没问题,随着分页的深入,sql可能会变成这样:这个时候,mysql会查出来1000020条数据,抛弃1000000条,如此大的数据量,速度一定快不起来。那如何解转载 2022-07-02 13:21:02 · 497 阅读 · 0 评论 -
生成订单30分钟未支付,则自动取消,该怎么实现?
在开发中,往往会遇到一些关于延时任务的需求。例如对上述的任务,我们给一个专业的名字来形容,那就是延时任务。那么这里就会产生一个问题,这个延时任务和定时任务的区别究竟在哪里呢?一共有如下几点区别:下面,我们以判断订单是否超时为例,进行方案分析。方案分析思路该方案通常是在小型项目中使用,即通过一个线程定时的去扫描数据库,通过订单时间来判断是否有超时的订单,然后进行update或delete等操作实现博主当年早期是用quartz来实现的(实习那会的事),简单介绍一下maven项目引入一个依赖如下所示调转载 2022-06-20 22:40:00 · 611 阅读 · 0 评论