MySQL
简单
面试题库
MySQL
中等
join 时出现 Using join buffer (Block Nested Loop) 意味着什么?如何判断 join_buffer 是否足够?
MySQL
中等
如何优化多表 join 的慢查询?有哪些常见手段(索引/驱动表/预聚合)?
MySQL
中等
子查询改写为 join 一定更快吗?什么时候不应该改写?
MySQL
困难
Semi-join 与 Anti-join 是什么?EXISTS/NOT EXISTS 与 IN/NOT IN 在优化器层面如何转换?
MySQL
中等
为什么建议用小结果集作为驱动表?“小表”是指行数少还是过滤后结果小?
MySQL
中等
join 条件字段类型不一致(如 varchar 与 int)会导致什么后果?为什么会隐式转换失效索引?
MySQL
中等
Hash Join 对内存的要求?join buffer 不够时如何落盘?与 sort_buffer 的关系?
MySQL
中等
多表 join 时如何利用 straight_join 或 optimizer hint 干预驱动表选择?
MySQL
中等
如何通过 EXPLAIN 判断一条 join 走了哪种算法?各算法在 Extra/type 上有什么特征?
MySQL
中等
使用 join 时,被驱动表 join 字段上没有索引会发生什么?如何优化?
MySQL
中等