今天在用sharding-jdbc分库分表的时候,发现quantity汇总的结果和在数据库查询的数据不一致,师父过来帮忙解决,思路如下:
一、把sharding-jdbc在控制台打印的sql分别拿到数据库执行一遍,发现数量确实对不上;
二、经过认真观察发现别的字段汇总的值都对,就quantity不对,于是看了下sql,发现quantity这个字段上使用了ifnull函数,去掉之后,发现对上了;
三、结论:sharding-jdbc不支持ifnull的写法。
总结:只注意到错误的那个字段,却没有注意到还有几个字段是正确的,从而没能辩证的看待问题,所以有些时候不是我们不能解决问题,而是我们不能很好的发现问题。