- 博客(15)
- 收藏
- 关注
原创 记一次数据库查询速度慢优化
2. 如果主表A inner join B on A.xx = B.xx中A的xx列没有索引,会造成扫描A表全部记录才能找到数据,如果A表较大,则性能极差【索引必要性】;4. 如果过大的表则建议使用分区表,我司目前为支持业务长久发展对于部分业务明细表使用分区操作且禁止使用自增主键,查询50000数据并拼装结果可缩短至1.6s左右;1. 遇到SQL优化的问题可以首先观察生产环境的数据量级,在开发测试环境尽量按照实例和内存大小等比模拟数据大小,测试查询时间【生产数量】;
2025-01-27 11:07:26
327
原创 记一次数据库死锁运维
6.检查数据库表发现,删除语句中c字段为非索引,而无索引的行锁会在聚簇索引上加锁,加锁算法是Next Key Lock,在查找过程中访问到的索引才会加锁,所以在并发条件下,事务1和事务2都对全表扫描并对扫描到的记录加锁,此时事务1并未全表扫描完成,只加了一部分锁,而事务2恰好持有另一部分锁,准备对事务1加上锁的数据查询并加锁,而加锁为X锁即排他锁,拒绝一切操作,所以导致相互持有并等待导致出现上述问题。3.通过show variables like 'tx_isolation';4.发生问题后回滚了事务2。
2024-04-03 00:19:22
96
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人