今日问题记录
1.MySQL in和exits的区别in有什么缺陷IN和EXISTS本质是驱动顺序不同。IN适合子查询小、外层大的场景EXISTS适合子查询大、外层小的场景。IN的性能差主要源于5.6前会生成无索引临时表导致全表扫描而它的缺陷除了性能还有NULL逻辑陷阱和大结果集撑爆SQL长度的风险。所以我们在生产环境通常将IN子查询改写成JOIN或拆成两次查询把控制权交给应用层。”IN和EXISTS的核心区别在于驱动顺序。IN是子查询结果集驱动外层表所以要求子查询结果集小EXISTS是外层结果集驱动子查询所以要求外层结果集小而且外层没有过滤条件时会全表扫描每行执行一次子查询。这就是为什么EXPLAIN里EXISTS常出现DEPENDENT SUBQUERY——意味着外层行数子查询执行次数。”2.session和cookie的区别3.线程池如何调参4.springBoot3.x 启动方式有没有什么变化5.Spring拦截器和过滤器的区别6.jdk21升级遇到哪些兼容问题7.分布式锁如何实现8.MySQL多表联合查询如何优化9.深分页如何处理10.回表11.如何做的sql优化