MySQL的那些事

本文分享了在项目中使用MySQL的经验,包括索引优化显著提升查询效率,建立SQL审核流程避免线上错误,以及实施自动备份策略确保数据安全。这些实践对提高数据库性能和保障数据完整至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我是原本 Android 开发,后来转了项目经理,在项目开发的过程中发现一些跟 MySQL 相关的东西,就想着记录下来,以下均为个人看法,欢迎沟通交流。

一、索引

我们项目数据库一直用的都是 MySQL,刚上线根本没加索引,也没什么感觉。可是随着用户量的暴增,发现很多查询操作都很慢,我们一直去检查程序的流程是否出了问题,却忽略了数据库索引的问题。

后来经过 CTO 的提醒,我们给用户表相关字段添加了索引,查询速度立马就快了!本来 32vCPU/64G 资源占用都能到 99%,加了索引之后,直接降到 3%,甚至更低!

索引的优点是提高了查询效率,缺点是在插入、更新和删除记录时,需要同时修改索引,因此,索引越多,插入、更新和删除记录的速度就越慢。

即使加索引可能导致写入数据变慢,对于数据量大,而且频繁查询的字段,必须加索引!

二、SQL审核

项目上线初期,需要改库的,直接就线上操作了,情况紧急的时候,我甚至用手机直接修改过数据库。

可是随着用户量的增加,修改数据造成的影响变得越来越大,有两次直接在线上改库就改错了,还好紧急修改了回去。幸亏不是 DELETE 忘了加 WHERE,不然只能跑路了。

后来,随着我们有了专门的运维人员,搭建了 SQL 审核平台,开发提交 SQL 之后,由负责人审核,通过之后再由运维人员执行,大大提高了线上操作的安全性。

SQL 审核,避免删库跑路!

三、备份

对于普通的业务性公司来说,最重要的资料莫过于数据库里的用户数据了,数据如果突然没了,那公司可能都得跟着完蛋,所以数据备份很重要。

我们公司最开始没有运维人员,全是晚上加班或者上线之前手动备份一下数据库,效率虽然低,但是至少做到了备份。

后来有了运维人员,备份都是自动操作了,但有一次发现一个问题,就是备份的时候,导致库锁死了,辛亏是个从库,主要是在内部系统使用。

做好数据库备份,一切都可以重来!

作为一个前端开发,也写过一点后台代码,我认为技术人员,即使不是后台开发人员,也应该多少了解一下 SQL,基本的增删改查学习一下,对平时的开发和查找问题好处多多。在此,我推荐「廖雪峰」老师的「SQL 教程」。

欢迎访问的个人博客:掘墓人的小铲子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值