实用指南:八股已死、场景当立(场景篇-MySql)

废话不多说,今天更新场景篇-MySql的知识点,做好了开始发车喽!

一、场景篇-MySql

1、Q:如何排查 SQL 查询性能问题?列举至少 5 个导致索引失效的常见写法,并给出优化方案?

A:答案如下:

  • 失效场景

    1. 对索引字段使用函数或表达式(如 WHERE YEAR(create_time)=2023)。
    2. 隐式类型转换(如字符串字段用数字查询 WHERE id='123')。
    3. 联合索引未满足最左前缀原则(如索引 (a,b,c) 但查询条件无 a)。
    4. 使用 OR 连接非索引字段(如 WHERE a=1 OR b=2,若 b 无索引则全表扫描)。
    5. LIKE 以通配符开头(如 LIKE '%abc')。
  • 优化方案

    • 避免对索引字段计算,改用范围查询(如 create_time BETWEEN '2023-01-01' AND '2023-12-31')。
    • 使用 EXPLAIN 分析执行计划,确保 typerefrange,避免 ALL(全表扫描)。

2、Q: 线上出现死锁错误 Deadlock found when trying to get lock,如何定位并解决

A: 先定位问题,在解决。通常步骤如下:

  • 定位步骤

    1. 执行
posted @ 2025-11-13 22:02  clnchanpin  阅读(21)  评论(0)    收藏  举报