mysql
文章平均质量分 50
码农1001号
程序猿
展开
-
解决MySQLCPU消耗800%的性能问题
背景早上收到客户反馈车辆列表页面,加载慢思路 查看msyql执行的慢sql有没有与车辆列表相关的开始 show processlist; 发现有许多与truck相关的sql执行,sql执行不慢都是毫秒级,但是一直都有。 查看truck表当前被查询使用的次数show OPEN TABLES where In_use > 0; 果然发现 truck那栏的in_use =...原创 2021-11-01 15:13:17 · 457 阅读 · 0 评论 -
MySQL 索引手记
索引的作用?提高查询效率索引常见数据结构?hash:适合等值查询,不适合做区间查询InnoDB 的索引模型?B+TREE:胖而矮的N叉树主键索引,非主键索引是什么,区别是?主键索引的叶子节点存的是整行的数据(聚簇索引)非主键索引的叶子节点内容是主键的值(二级索引)区别是:主键索引只要搜索ID这个B+Tree即可拿到数据。普通索引先搜索索引拿到主键值,再到主键索引树搜索一次(回表)回表查询的概念是什么?普通索引先搜索索引拿到主键值,回到主键索引树搜索的过程称为回表查原创 2021-08-19 20:02:01 · 79 阅读 · 0 评论 -
MySQL 事务手记
事务是什么?是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。事务有什么作用?保证事务执行整个过程中数据库操作的正确性(ACID)。多事务同时执行的时候,可能会出现的问题?脏读:读到其他事务未提交的内容不可重复读:一个事务中两次相同sql得到的结果不一致幻读:其他事务同时编辑表内容,当前事务处理结果会导致新编辑数据没有别处理到,产生幻读。事务的四个特征?A(原子性):事务不可分割,要么都成功要么失败C(一致性):在事务开始之前和事务结束以后,数原创 2021-08-18 13:00:36 · 104 阅读 · 0 评论 -
MySQL使用binlog日志做数据恢复
需求背景 数据库误操作(删除/更新)恢复。思路 利用MySQL binlog来恢复指定时间范围的数据,一般来说生产环境有定期备份数据库,先用备份数据库恢复到相近的时间节点,再用binlog恢复备份时间点到故障发生的时间点这段时间的数据。步骤 开启binlog 创建新数据表(数据库) 插入测试数据并备份数据库插入测试数据 清空表(模拟数据库误操作) 利用相近...原创 2021-08-14 23:15:54 · 476 阅读 · 0 评论 -
一条 SQL 查询语句是如何执行的?
要是面试问到这个问题,回答不上来,都不好意思说自己会mysql。。。sql查询语句执行步骤 连接到mysql mysql8.0以前没有特别配置,会查询缓存,sql语句为key,如果有value,接下来检查用户是否对数据库,表是否有查询权限,权限校验通过就返回缓存结果,否则进入分析器 分析器进行语法分析、词法分析,检查sql的语法顺序等得到解析树, 然后预处理器对解析树进一步分析,验证数据表、字段是否存在,通关之后sql进入下一步优化器 ...原创 2021-08-13 17:35:35 · 72 阅读 · 0 评论 -
springboot整合mybatisplus
实现步骤 添加maven依赖 编写application.yml配置文件 实现一个简单数据库操作 测试效果,并附上完整项目链接添加maven依赖<properties> <java.version>1.8</java.version> <mybatisplus.version>2.1.6</mybatisplus.version> ...原创 2021-08-03 16:31:41 · 111 阅读 · 0 评论 -
mybatisplus + velocity 代码生成
步骤 添加maven依赖 编写工具类 编写模板maven依赖<properties> <java.version>1.8</java.version> <mybatisplus.version>2.1.6</mybatisplus.version> <velocity_version>1.5</velocity_ve...原创 2021-08-03 16:07:23 · 720 阅读 · 0 评论