为什么需要锁 作为一个程序员,我们知道,后端系统无时无刻不在支撑用户请求,而如果所有的组件都是一个串行化执行的,在对同一个资源进行并发访问的时候,只能A执行完毕,B在执行。但是这样显然对于一个高并发、高性能的系统来说是不可接受的,所以,大多数的组件(Nginx、Spring、Servlet、MySQL、MQ、Redis)都直接或者间接支持高并发的访问。也就是对同一互斥资源访问时,通过一些机制,比如说Java提供的并发JUC并发包,以及Servlet 为每个请求创建单独的上下文。而MySQL大多数人并不会想到 原来它…

2023年 3月 27日 0条评论 11点热度 0人点赞 阅读全文

  前段时间,博主线上项目的几个后端接口执行耗时达到了三、四秒钟以上,查看接口代码,发现 sql 语句执行过慢,于是开始分析 sql 执行 这里把比较经典的优化案例分享给大家。 本文所讲述 MySql 8.0+ 一、or 查询条件错误 线上有一个第三方账户扫码绑定手机号登录的接口,这个接口正常逻辑如下: 使用 苹果、QQ、微信获取扫描客户端登录二维码,获取用户第三方账户唯一ID后。 判断第三方账户ID是否存在用户表中,存在且已绑定手机号则直接返回用户 token 进行登录操作。 不存在则提示用户进行绑定手…

2023年 3月 24日 0条评论 22点热度 0人点赞 阅读全文

前言 1. 索引是什么? 索引是一种能提高数据库查询效率的数据结构。它可以比作一本字典的目录,可以帮你快速找到对应的记录。 索引一般存储在磁盘的文件中,它是占用物理空间的。 正所谓水能载舟,也能覆舟。适当的索引能提高查询效率,过多的索引会影响数据库表的插入和更新功能。 2. MySQL索引有哪些类型 数据结构维度 B+树索引:所有数据存储在叶子节点,复杂度为O(logn),适合范围查询。 哈希索引: 适合等值查询,检索效率高,一次到位。 全文索引:MyISAM和InnoDB中都支持使用全文索引,一般在文本类型cha…

2023年 3月 24日 0条评论 26点热度 0人点赞 阅读全文

春节长假某日,阳光明媚,春暖花开,恰逢冬奥会开幕,想着一定是一个黄道吉日,必能顺风顺水。没想到却遇到一个有点小波折 的客户报障。 01故障起因 故障起因是客户前一天从自建MySQL迁移到云上RDS,在执行某个并发较高的业务时出现了大量锁等待,客户当时升级了实例到最高规格,但故障依旧。客户反馈升级后的实例规格比自建实例高了一倍,自建实例上从未发生过类似情况。后客户根据当时的业务故障模拟了现场,主要是并发执行如下存储过程的时候性能很差: 02初步诊断 从存储过程的逻辑看,比较简单,主要涉及两个SQL,一个从表t(隐藏了…

2023年 3月 22日 0条评论 26点热度 0人点赞 阅读全文

1 从源数据库到处数据 mysqldump -u 用户名 -p 数据库名 > 文件名.sql 如: mysqldump -u root -p test > test.sql 2 将test.sql文件复制到另一个数据库所在的服务器上 比如放到新的数据库所在的服务器位置如下: /opt/test.sql 3 导入数据 # 首先登录数据库 mysql -uroot -p # 输入登录密码 mysql> # 创建数据库 mysql>create database test charset=utf8…

2023年 2月 24日 0条评论 98点热度 0人点赞 阅读全文

https://www.51cto.com/article/575091.html

2023年 2月 23日 0条评论 76点热度 0人点赞 阅读全文