一、索引误区误区索引越多查询越快 → 错索引增加增删改开销误区复合索引颠倒顺序失效 → 错MySQL 优化器自动调整 WHERE 条件顺序误区NULL 字段不影响索引 → 错大量 NULL 降低索引区分度误区LIMIT 10000,10 加索引就不卡 → 错偏移量大仍会扫描前置数据。二、事务隔离误区误区RR 隔离级别完全消除幻读 → 错仅间隙锁缓解无法彻底根除误区加事务一定提升性能 → 错事务会加锁并发更新变慢误区自动提交事务不存在锁问题 → 短事务锁时间短但并发更新仍会竞争行锁。三、缓存误区误区Redis 可以完全替代 MySQL → 错缓存仅分担读持久化依赖数据库误区缓存更新先改缓存再改 DB → 错会出现数据不一致正确为先改 DB 再删缓存。四、分库分表误区误区数据多就必须分表 → 百万以内优化索引 读写分离足够误区分片随便取模即可 → 热点用户会出现分片数据不均衡。五、SQL 误区误区COUNT () 和 COUNT (字段) 性能一致 → COUNT () 优化更好COUNT (字段) 会过滤 NULL误区LEFT JOIN 筛选条件放 WHERE 无影响 → 会过滤左表空数据等同于 INNER JOIN。
数据库面试避坑:常见误区,新手必看
一、索引误区误区索引越多查询越快 → 错索引增加增删改开销误区复合索引颠倒顺序失效 → 错MySQL 优化器自动调整 WHERE 条件顺序误区NULL 字段不影响索引 → 错大量 NULL 降低索引区分度误区LIMIT 10000,10 加索引就不卡 → 错偏移量大仍会扫描前置数据。二、事务隔离误区误区RR 隔离级别完全消除幻读 → 错仅间隙锁缓解无法彻底根除误区加事务一定提升性能 → 错事务会加锁并发更新变慢误区自动提交事务不存在锁问题 → 短事务锁时间短但并发更新仍会竞争行锁。三、缓存误区误区Redis 可以完全替代 MySQL → 错缓存仅分担读持久化依赖数据库误区缓存更新先改缓存再改 DB → 错会出现数据不一致正确为先改 DB 再删缓存。四、分库分表误区误区数据多就必须分表 → 百万以内优化索引 读写分离足够误区分片随便取模即可 → 热点用户会出现分片数据不均衡。五、SQL 误区误区COUNT () 和 COUNT (字段) 性能一致 → COUNT () 优化更好COUNT (字段) 会过滤 NULL误区LEFT JOIN 筛选条件放 WHERE 无影响 → 会过滤左表空数据等同于 INNER JOIN。