![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
Pr Young
一个踏实努力,充满激情的程序员!
展开
-
记录锁,间隙锁,临键锁还在傻傻分不清楚?一招教你直达行级锁本质
是为了解决幻读问题,也就是防止一个事务A在查询的时候,另一个事务B在它查询的区间内插入,删除,修改数据,导致事务A前后查询到的行数不一致(比如之前查到的是5行,现在查到了7行数据)。你要防止24这条记录以前的记录被修改成24,也要防止32这条记录被修改成24,也要其他事务先在(24,32)区间内插入一条数据,再将这条数据的age改成24,由于age是非唯一索引,所以可以出现多行的age都是24,显然你只需要锁住id=1这一行记录即可,因为id这一列是主键索引,这样其它行的id是无法修改成id=1的,原创 2023-10-27 17:34:50 · 254 阅读 · 0 评论 -
数据库分表
个表中的数据量过大时,我们可以把该表的数据按照某种规则如userID散列进行划分,然后将其存储到多个结构相同的表和不同的库上。(1)定义数据库workDB,存储项目数据。(3)用户数据库userDB,存储用户数据。(2)商品数据库payDB,存储商品数据。(4)日志数据库logDB,存储日志数据。数据库分表有垂直切分和水平切分两种。原创 2022-10-02 21:42:14 · 415 阅读 · 0 评论 -
navicat 1366报错(字段值为中文时无法识别出)
给这张表的name字段插入值:李四 结果报错: 这是因为你建立这个数据库的时候没有选择正确的字符集,导致数据库无法识别出中文字符 1.只改变这张表的字符集 修改字符集和排序规则,字符集修改为utf8,排序规则修改为utf_general_ci 2.修改整个数据库的字符集(这样以后在这个数据库中创建的所有表字符集都是一样的了) 弹出这个界面,同样字符集修改为utf8,排序规则修改为utf_general_ci ...原创 2022-05-29 09:40:15 · 1822 阅读 · 1 评论