报表统计SQL
各位,写过报表的SQL么,大不大。。。
针对报表的SQL,我觉得可以总结一种通用的写法,例如我们需要对一个表的数据做统计,那么我们应该如何去思路清晰的写出这种SQL呢?其实核心的思想就是对每一条记录进行判断类型,一般可以通过case when then else end 这个方式来进行对每条记录的判断。
当满足某个条件的时候,将一个值变为1,否则变为0。然后通过统计1和0的数量,来进行数据的统计。
MYSQL的连接失效机制
MySql的连接是有上限的,默认值为100,也就是说同一时间,一起在线的连接数只能有100个,通过 show variables like ‘%max_connections%’,当连接达到这个值的时候,mysql就会拒绝被连接,我们后台通常都使用数据库jdbc来进行连接数据库,并使用不同种类的连接池进行储存连接,当连接空闲的时间超过wait_timeout的值,mysql就会认为这个连接是不可用的,这就是mysql的连接失效机制,所以我们要注意,一般在service业务层开启事物的时候就已经开启数据库连接了,如果业务层执行执行某个业务时间过长,可能会导致数据库连接是失效。