![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Database
文章平均质量分 81
JellyfishMIX
qunar -- java 开发
展开
-
mysql foreach 写法,多条 sql 与一条 sql 的性能消耗分析
比如有 100 条 sql,如果不手动开启事务把这 100 条 sql 放在同一个事务中执行,那么这 100 条 sql 会分别在 100 个隐式事务中。每个事务占用一个连接,这样就占用了 100 个连接。原创 2022-11-09 02:20:35 · 928 阅读 · 0 评论 -
传统关系型数据库(mysql),缓存(redis),elasticsearch
toC 或高 QPS 的应用,通常会在 mysql 前面加缓存(例如 redis)。查询的数据如果缓存中有,则直接从缓存中返回(称为命中缓存),不再查询 mysql,减少了对 mysql 的 IO 压力。原创 2022-11-04 16:19:03 · 1709 阅读 · 1 评论 -
由 mysql 中的一次慢查询,来看 order by 的文件排序和索引排序
在 mysql 中 filesort 的实现算法有两种:双路排序:根据查询条件取出排序字段,和可以直接定位行数据的行指针信息,这也是第一次 IO。然后在 sort buffer 中进行排序。把行指针排序好后,要再进行一次 IO 将具体的行查询字段读出,才能返回结果。单路排序:根据查询条件取出排序字段和需要查询的行字段(一次 IO),然后在 sort buffer 中进行排序。排序后就可以返回结果了。原创 2022-10-29 11:52:41 · 713 阅读 · 0 评论 -
一次隐蔽的mysql死锁排查(附带redis分布式锁解决方法源码)
概念首先整合一下搜集到的概念,排查、解决问题需要了解。博主遇到的死锁问题并不在概念所列的案例中,后面将会展示遇到的情况和解决办法。1. mysql锁的等级出自:https://www.cnblogs.com/zejin2008/p/5262751.htmlmysql有三种锁的级别:页级、表级、行级。表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。...原创 2020-04-27 01:14:34 · 526 阅读 · 0 评论