摘要: 数据库CPU飙高 通过top等命令确定是否数据库进程CPU飙高 通过命令show processlist找出耗资源较大的SQL 如果没有特别耗资源的SQL,就查看session是不是突然增多,可以通过限制连接数 如果有特别耗资源的SQL,排查耗资源的SQL是否命中索引、是否表的数据量特别大 kill 阅读全文
posted @ 2024-04-15 21:34 坏男银 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 并发事务的控制方式是MVCC和行锁 按范围分:表级锁、页锁、行级锁(锁一行或者多行)(记录索、间隙锁、临键锁(可重复读默认用这个做行锁,除非是主键和唯一索引会使用记录索)) 按功能分:读锁(S)、写锁(X) 意向锁是表级锁,分为意向共享锁、意向排他锁,用于协调表锁和行锁的关系,事务想要在某些行上加共 阅读全文
posted @ 2024-04-15 16:34 坏男银 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 常见的sql题目 1. 查找不在表里的数据 2. 查找第N高的分数 3. 分组排序 4. 连续出现N类问题 5. 打卡表查某人当月连续最长出勤天数 1.有两个表A和B,以id关联,查找在A中但是不在B中的数据 方案a:使用left join select A.id from A left join 阅读全文
posted @ 2024-04-15 14:15 坏男银 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 先给个表结构 CREATE TABLE account ( id int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', name varchar(255) DEFAULT NULL COMMENT '账户名', balance int(11) DEFAULT N 阅读全文
posted @ 2024-04-15 14:13 坏男银 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 当查询语句的偏移量特别大的时候,查询效率就会变的很差,比如limit 10 offset 100 和limit 10 offset 100000的效率肯定是不一样的,后者会慢的多 那怎么解决呢? 先模拟一个例子,表结构如下 CREATE TABLE account ( id int(11) NOT  阅读全文
posted @ 2024-04-15 13:37 坏男银 阅读(33) 评论(0) 推荐(0) 编辑