线上疑难问题记录

文章讲述了在生产环境中遇到的两个问题:一是如何在数据库速度慢的情况下恢复误删数据,通过导出到本地进行测试;二是优化大表关联查询,通过创建统计表来提高查询效率。
摘要由CSDN通过智能技术生成

在生产环境,经常会遇到一些奇怪的问题,下面是对一些疑难问题的记录,不定时更新

1、代码部署到现场,用户反应某个表数据被误删,要求把数据恢复到上一个版本,数据表有上个版本的数据。问题是现场数据库很慢,连VPN访问现场服务器,查询sql很慢。恢复数据,要有写一些sql逻辑。

难点:访问实际现场库困难

问题解决方案:  现场数据库导出一份到本地,在本地测试恢复好数据,把数据表替换现场库有问题的表。这种方案,使用现场可以停机使用一段时间的情况。

tips: 如果现场数据库,速度快,其实还可以在本地测试好恢复数据脚本,直接执行脚本,就不存在数据同步问题

2、mysql线上数据表才40W数据,关联一张1w条数据的数据表,查询时间居然30分钟?

背景: 现场环境有2张表 SS_ZYXX(id,名称,....) 1w数据,WD_GZPZ(id,zyxx_id,lx,......) 50w数据    SS_ZYXX.id  = WD_GZPZ.zyxx_id,WD_GZPZ有索引zyxx_id。现场查询作业列表信息,

信息包括id,名称,lx1数据量,lx2数据量,lx3数据量。   现在这个接口查询了3分钟,页面加载缓慢。

解决方案:

1、线上数据库导出一份到本地,直接关联SS_ZYXX表和WD_GZPZ,不加任何条件,居然花了30分钟。mysql不知道为啥性能这么差,得出结论关联查询做统计,不合适

2、新建一张统计表ZYXX_TJ,在新建SS_ZYXX和WD_GZPZ表的时候,对WD_GZPZ插入的数据做分类统计,统计信息插入ZYXX_TJ表。查统计信息,直接查不统计表,不对明细表WD_GZPZ做关联group by查询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱晒太阳的小老鼠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值