1.eclipse输入字符不会自动给出代码提示的解决办法
2.商城订单对账时遇到的问题
如果订单被拆分,需要先按订单编号分组求和,之后再对每组订单求和得到订单总金额,最后完成对账。
附:SQL执顺序(以MySQL为例)
3.使用Axure RP8遇到的问题及解决办法
4.Spring Boot项目
-
4.1 集成mybatis使用generator工具时遇到的问题
- 报错:
Result Maps collection already contains value for com.mall.mbg.mapper.PmsBrandMapper.BaseResultMap
at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:120) ~[mybatis-3.4.6.jar:3.4.6] - 解决办法:使用mybatis-generator工具生成xml文件之前,把原先的xml文件删除
- 总结:这个情况比较坑,每次生成mapper和pojo文件时都要先删除上次生成的,不然就会报这个错误
- 报错:
-
4.2 SpringBoot + eclipse 实现修改项目后页面自动刷新
5.MySQL查询遇到的坑
-
5.1 使用not in进行嵌套查询时,子查询中如果出现null值,会导致整个查询结果都是null,因此对于可能出现null值的子SQL,需要留意加上判断条件 xxx is not null,否则查不到数据哦
6.Eclipse创建Java web项目时报错
7.Python连接数据库报错
8.一次MySQL查询速度优化记录
-
背景:
- 在最近工作中遇到一个需求: 查询过去一年没有参与活动的会员信息,以及这些会员最后一次登录时间,由于平台的会员比较多(好几百万),而且登录数据和会员信息不在一个数据库。因此,先从几百万的数据中直接查询出没参与活动的会员信息,直接查的话,速度很慢,大概要一个多小时
-
优化过程:
- 原先的SQL大致是这样的:
select * from 会员表 where 会员ID not in(select 会员ID from 活动表);
- 第一种优化:把not in 改为 not exists ,速度快了一些
- 第二种优化:把两个要查询的表关联起来(比如使用 left join 方式或者通过ID关联查两个表),速度快了一些
- 第三种优化:先从活动表查询参与活动的会员ID,放到一个CSV文件,利用Python脚本从会员表中查相关数据,复杂且效率没有提高
- 第四种优化:在查询时,不是select * ,而是select 需要的字段,稍微快点一点点(对于字段多的表应该效果更明显些)
- 第五种优化:给数据库表的会员ID字段加上索引,速度快了很多
- 原先的SQL大致是这样的:
-
优化结果:
- 查询速度有了较大的提升,能够很快完成查询任务