我的一个低级错误,导致数据库崩溃半小时!!
Java技术栈
共 3146字,需浏览 7分钟
·
2020-12-01 12:25
Java技术栈
www.javastack.cn
关注阅读更多优质文章
一、反常的SQL语句
KEY `idx_userfruitid_type` (
`user_fruit_id`,
`task_type`,
`receive_start_time`,
`receive_end_time`
) USING BTREE
KEY `idx_task_type_receive_start_time` (
`task_type`,
`receive_start_time`,
`receive_end_time`,
`created_time`
) USING BTREE
三、最左匹配原则
public class GardenUserTaskListReq implements Serializable {
private static final long serialVersionUID = -9161295541482297498L;
@ApiModelProperty(notes = "水果id")
@NotNull(message = "水果id不能为空")
private Long userFruitId;
/**以下省略*/
.....................
}
重要的参数都要先做验证,即使是非空值也需要做验证,不符合条件的就要直接返回或抛异常,不能参与业务sql的查询,否则频繁的访问也会对服务造成负担。
关注Java技术栈看更多干货
评论