Git 恢复本地删除的分支
今天开发功能的时候,发现之前的分支忘记合并(分支太多),并且还删除了😂,于是 Google 了一番,根据以下步骤进行了分支恢复。
GROUP BY
在 MySQL 5.7 后,默认使用 ONLY_FULL_GROUP_BY
模式,不允许使用 GROUP BY
时,如果 select
中的列,没有在 GROUP BY
中出现,会报错。我们可以通过更改 MySQL 的 sql_mode
来解决。
最近在优化旧业务时,发现一个慢查询的问题,单表数据量190w,当查询某个包含逗号分隔符字段时,该字段有添加二级索引,因为是 VARCAHR 类型逗号分隔的值( 100,300,32455,1435
),所有检索起来只能 LIKE %,100,%
,或者使用 FIND_IN_SET
,但是这两种方式都会全表扫描。
这两天发现生产上某些定时任务没有正常执行,查了下发现 Spring Boot 使用 @Scheduled 执行定时任务是在单线程中,由于数据量增长过大,导致定时任务执行时间过长,导致其他后续任务阻塞、卡死,导致其它任务没有执行。
有些场景,比如验签,需要在拦截器中读取 Request Body 进行校验的操作。如果通过 HttpServletRequest#getInputStream()
方法读取,会导致后续的读取操作都失败。因为它只能读取一次,第二次读取会抛出异常。最常见的问题就是 @RequestBody
注解失效。
以下配置了 feign 的请求超时时间(默认值根据版本情况不同,一般是 1s 或者 2s),以及 hystrix thread pool 的参数,避免并发量过大时,出现线程池拒绝执行请求的情况。