插件 部署
11.注入失败service,漏掉标记
12.有空的构造函数才可以继承
No input split target column value!
singleValue.forEach(new BiConsumer<String, String>() {
@Override
public void accept(String key, String value) {
if(valueMap.containsKey(value)){
valueMap.get(value).add(key);
}else{
List<String> values = new ArrayList<>();
values.add(key);
valueMap.put(value,values);
}
}
});
List<String> keywordMonistic = Stream.of(brands, elects, goods, pn).flatMap(Collection::stream).collect(Collectors.toList());
第一次打标签:
1.distinct判定重复数
2.uppercase转换为大写
3.初始化刷所有规则,一个规则改变刷全量,只刷这个规则
这种方式之所以能够大幅度优化性能,分析:
直接分页,不会走索引,全表扫描,其实是遍历主键索引树,但是每次都需要把对应行的数据取出来,
要取1000100条数据,然后丢弃前一百万条,太消耗性能。可以通过explain执行计划查看对应索引情况
使用子查询,会走主键索引,虽然也是遍历主键索引树,但是只需要取id,不需要取出整行数据,
最后外层查询拿到对应的100条id,查询对应数据即可。通过根据索引字段定位后,大大减少了
查询的数据量,效率自然大大提升
上述使用in,where条件和连接,性能差距不大
4.break只能跳出直接包含他的循环
5.将几个list合并
6.此处的collection是集合的名字,要与之前的@Param中对应
Parameter 'list' not found
7.${}可以保留传入的原始类型
8.SELECT count(DISTINCT keyword) from t_keyword_init去重
9.打包:sekorm-dependencies 、component、 dubbo更新
10.一个service——一个mapper——一个model-一个xml
其他地方只可注入service