10、索引优化思想
SQL是否添加索引
使用explain执行计划查看
where、order by、group by 后字段添加索引
索引是否生效
隐式类型转换,索引实效
查询条件包含OR,可能导致索引实效
like通配符可能导致索引实效
查询条件不满足联合索引的最左匹配原则
在索引上使用内置函数
对索引列进行运算(+、-、*、/)
索引字段使用(!= 、<>),索引可能实效
索引字段使用 is null,is not null 索引可能实效
左右链接,关联的字段编码格式不一样
优化器选错了索引
索引建立是否合理
删除冗余和重复索引
索引一般不要超过5个
索引不适合建在大量重复数据的字段上
适当使用覆盖索引
如果使用force index强制走索引,慎重考虑索引和理性
17、线程池设计合理
核心线程数过小,达不到并行效果
阻塞队列设计不合理,可能回OOM
线程池不区分业务隔离,可能核心业务被边缘业务拖垮
拒绝策略(DiscardPolicy、DiscardOldestPolicy)使用不当,引起阻塞或者数据错误
CallerRunsPolicy 结合ThreadLocal上下文线程丢失
线程池共用,导致死锁