![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
欧阳田
生活没有对与错,一路爬行。
展开
-
Mysql在乐观锁层面解决并发问题
背景假如一条数据同时只能被一个线程修改。这个时候应该怎么解决呢?过程数据库中的数据 这里把status理解为version即可mybatis做更新的时候,返回受影响的行数。默认是返回匹配的行数,匹配的行数不代表被更新了。没有被更新,则不是受影响的行数。连接url上添加如下参数:useAffectedRows=true,表示update的时候,返回受到影响的行数。测试方法1在if判断处,打上断点。测试方法2测试过程:先debug执行test1,然后直接执行完test原创 2020-08-01 17:14:53 · 650 阅读 · 2 评论 -
Mysql的select for update理解
背景一条数据不能同时被两个或者多个线程修改。保证数据的有效性。比如下订单后,扣库存数量就需要这样的保证。过程数据库中数据测试方法1:testForUpdate1分析:代码在if判断处,打上断点。测试方式2:testForUpdate2测试过程描述先跑测试方法1,一直卡在断点处。这个时候直接执行测试方法2。测试结果测试结果分析由于测试方法1先把id为27的数据上锁。测试方法2能够读到数据,但是不能修改id为27的数据。小结记录对一个小知识的理解过程原创 2020-08-01 16:26:15 · 3057 阅读 · 0 评论 -
mysql基本概念小结
mysql基本概念小结。原创 2016-12-03 21:14:42 · 252 阅读 · 0 评论 -
mysql逻辑架构、时间线及入门知识概览
初始MySQL逻辑架构及事务和隔离线及MySQL发展过程。原创 2017-04-08 10:06:57 · 667 阅读 · 0 评论 -
MySQL利用游标给表插入数据
需求:将查询出来的结果插入到表中。方式:利用游标存储变量值,然后循环插入到表中。注意事项:先建立一个过程函数,然后写相应的脚本内容。脚本内容:begin-- 定义接受游标数据变量DECLARE parentId INT; -- 遍历数据结束标志DECLARE done INT DEFAULT FALSE;-- 游标declare cur CURSOR for select can_info_cho...原创 2018-03-06 16:45:13 · 3439 阅读 · 0 评论 -
MySQL经验累积
1, 尽可能地少进行连表查询。如果一定要进行连表查询,一定要消除笛卡儿积现象。对于MySQL是小表在前大表在后,Oracle是大表在前小表在后,并且这个相等字段一定要建一个主键。 2, 杜绝连表查询还带上子查询的方式。 3, 坚决杜绝做更新或者删除的时候带上子查询。在稍微大一点的访问量上就会造成上锁情况。 4, 需要什么字段就查询什么字段出来。别全部查询出来又不需要 。 5, 利用COUNT(1)...原创 2018-06-04 12:54:16 · 568 阅读 · 0 评论 -
centos7安装mysql5.7操作过程记录
背景Cenos7默认不支持mysql。因为在cento7上运行yum install mysql会下载安装的是MariaDB(这是mysql原班人马在mysql公司卖给其他公司几年后,防止mysql被Oracle闭源才新生成的一个Mysql的分支),而不是原来的mysql。运行: yum install mysql 就相当于运行: yum install MariaDB 。但是对于M...原创 2019-09-02 14:34:37 · 264 阅读 · 0 评论