/** 判断两条记录是否可以作为一个batch提交,主要判断sql是否相等. 可优先通过schemaName进行判断 */ private boolean canBatch(EventData source, EventData target) { // return StringUtils.equals(source.getSchemaName(), target.getSchemaName()) // && StringUtils.equals(source.getTableName(), target.getTableName()) // && StringUtils.equals(source.getSql(), target.getSql()); // return StringUtils.equals(source.getSql(), target.getSql()); // 因为sqlTemplate构造sql时用了String.intern()的操作,保证相同字符串的引用是同一个,所以可以直接使用==进行判断,提升效率 return source.getSql() == target.getSql(); }