![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL优化
文章平均质量分 72
TheFeasterfromAfar
这个作者很懒,什么都没留下…
展开
-
MySQL系列之行转列,列转行
mysql行转列,列转行原创 2023-07-16 20:41:04 · 429 阅读 · 0 评论 -
MySQL踩坑记录
mysql正则不支持\d,用[0-9]代替。原创 2022-08-12 16:17:55 · 768 阅读 · 0 评论 -
阅读量统计实现方案
1.有统计阅读量接口前端相当于并行执行放到redis做定时任务入库2.无统计量阅读接口和获取文章内容在一个事务内,问题:先增加访问量后获取文章内容,增加访问量耗时过长,影响获取文章内容,进而影响用户体验解决方案:增加访问量放线程池,但由于多线程并发情况下可能会出现一种情况,两获取到未修改访问量,a线程先修改加写锁,b线程修改拿到的是a未修改的访问量,导致b线程增加访问量失效,可以使用sql乐观锁,更新时检查当前访问量是否等于之前获取访问量,不一样则不更新不更新会导致数据少一个访问记录,所以抛原创 2022-02-18 11:14:37 · 1027 阅读 · 0 评论 -
MySQL的select语句是否会加共享读锁
前置知识:1.InnoDB行锁是通过索引加锁来实现,只有通过索引条件检索数据,InnoDB才使用行锁,否则InnoDB将使用表锁2.INSERT,UPDATE,DELETE自动给涉及到的数据加排他写锁3.共享读锁会阻止其他事务获得相同数据的排他写锁前置准备:1.任意建表id为主键2.数据库版本 mysql8.0.12查看数据库版本命令:select version();select @@version;status;3.两个seesion执行两条SQL语句,两个会话设置事务均设置原创 2022-02-15 10:52:50 · 2878 阅读 · 2 评论 -
in后使用普通索引字段到底是否会使用索引(2021-4-14)
CREATE TABLE `mashibing`.`Untitled` ( `id` int(11) NOT NULL AUTO_INCREMENT, `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, `name` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,原创 2021-04-14 17:15:41 · 647 阅读 · 0 评论