- 博客(10)
- 资源 (2)
- 问答 (2)
- 收藏
- 关注
原创 注解切面实现重试
package com.csy.annotation.retry;import com.csy.common.config.MqQueues;import com.csy.exception.BusinessException;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.
2021-08-25 16:22:58
287
原创 IDEA自动注释
1、自动注释class打开Settings——>Editor——>File and Code Templates——>class,添加如下代码 /** * ${description} * @author ${USER} * @date ${YEAR}年 ${MONTH}月${DAY}日 ${HOUR}:${MINUTE}:${SECO...
2019-05-11 10:42:15
4257
原创 Mysql优化之ORDER BY 与filesort
mysql的索引本身已经排序,若order by能正确利用索引则不需要在额外排一次序。ORDER BY的sql语句应遵循一下规则,将filesort优化为index:1、ORDER BY 语句使用索引最左前列。2、使用WHERE子句与ORDER BY子句条件列组合满足索引最左前列。以下情况会导致filesort:1、没有覆盖索引2、where语句与order by语句使用了不同的...
2019-04-22 11:49:42
722
原创 使用RabbitMQ实现延迟任务
场景一:调用一个外部接口,如果调用失败,经过一段时间之后重试。场景二:订单下单之后30分钟后,如果用户没有付钱,则系统自动取消订单。上述类似的需求是我们经常会遇见的问题。最常用的方法是定期轮训数据库,设置状态。在数据量小的时候并没有什么大的问题,但是数据量一大轮训数据库的方式就会变得特别耗资源。当面对千万级、上亿级数据量时,本身写入的IO就比较高,导致长时间查询或者根本就查不出来,更别说分...
2019-04-11 19:51:12
284
原创 Mysql优化之延迟关联
有如下sql:SELECT * FROMuser WHERE name='abc' ORDER BYage LIMIT10000,10。这个语句同时使用了order和limit,如果没有索引的话会很慢。那么可以加上如下索引(name,age)。但是加索引之后可能还是很慢,因为这个索引不是覆盖索引,查询字段为*,需要回表取索引之外的字段。因为这条语句实际上只需要10条数据,所以可以针对lim...
2019-04-09 16:20:50
304
原创 Mysql优化之表连接
mysql多表连接采用block nested loop算法,即循环嵌套连接:将驱动表的结果集作为循环基础数据,然后循环从该结果集每次一条获取数据作为下一个表的过滤条件查询数据,然后合并结果。如果有多表join,则将前面的表的结果集作为循环数据,取到每行再到联接的下一个表中循环匹配。驱动表的选择对性能影响很大。一般情况下,驱动表数据越少效率越高,即用小表驱动大表效率比较高。mysql会对我们写的s...
2019-04-08 16:38:13
398
原创 spring schedule中的cron表达式
Cron表达式使用格式SecondsMinutesHoursDayofMonthMonthDayofWeek[Year]秒 分 时 月中的某天 月 周中的某天 [年 可选]每个符号代表的含义:*:匹配该域的任意值;如*用在分所在的域,表示
2017-06-23 11:43:14
3495
原创 JAVA工程师面试题汇总
一:mysql1、mysql Nested-Loop算法,Block-Nested-Loop算法,join优化答:Nested-Loop:选取(mysql自动优化选择)一个表作为驱动表,循环驱动表结果集,查询下一个表的数据,然后合并结果集。如果是多表join,则将前一次合并的结果作为循环数据,查询下一个表。Block-Nested-Loop(默认开启):在NL算法的基础上,将外层循环的...
2017-04-19 18:18:33
3647
1
转载 JAVA工程师进阶之路
一、基础篇1.1 JVM1.1.1. Java内存模型,Java内存管理,Java堆和栈,垃圾回收http://www.jcp.org/en/jsr/detail?id=133http://ifeve.com/jmm-faq/1.1.2. 了解JVM各种参数及调优1.1.3. 学习使用Java工具jps, jstack, jmap
2016-10-20 15:40:32
669
原创 mysql基本约定与命名规范
一、约定1、如无特殊需求,所有表使用innodb引擎2、如无特殊需求,所有主键均为自增类型3、如无特殊需求,所有字段均为NOT NULL,并给定默认值4、所有字段均设置备注,枚举字段需要说明每个枚举值的意义5、在能满足取值范围的情况下,选择占用存储空间最小的数据类型。如布尔值使用tinyint,时间类型使用timestamp二、命名规范...
2016-10-20 15:17:08
12637
新闻从哪里获取?有提供新闻的第三方插件吗?
2015-03-12
修改jquery datatable插件搜索框的默认事件
2014-04-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人