![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
轻狂书生YT
这个作者很懒,什么都没留下…
展开
-
MVCC:正确理解MVCC及其实现原理
MVCC:正确理解MVCC及其实现原理原创 2022-12-29 17:14:23 · 156 阅读 · 0 评论 -
mysql加锁过程详解
mysql加锁过程详解原创 2022-12-27 13:58:08 · 161 阅读 · 0 评论 -
2021-04-12
问题出现场景: java 代码在同一个事务中先执行update 再执行select 发现select 的数据是update之后的结果,此时事务还没有提交,直接查询数据库,数据库的数据还没有发生变更.原创 2021-04-12 19:29:02 · 108 阅读 · 0 评论 -
Mysql的sql优化方法
Mysql的sql优化方法1、选择最合适的字段属性Mysql是一种关系型数据库,可以很好地支持大数据量的存储,但是一般来说,数据库中的表越小,在它上面执行的查询也就越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度舍得尽可能小。例如:在定义邮政编码这个字段时,如果将其设置为char(255),显然给数据库增加了不必要的空间,甚至使用varchar这种类型也是多余的,因为char(6)就可以很好地完成了任务。同样的如果可以的话,我们应该是用MEDIUMINT而不是BIGINT来定原创 2021-04-06 21:53:10 · 1891 阅读 · 0 评论 -
mysql的悲观锁和乐观锁
mysql的悲观锁和乐观锁mysql的并发操作时而引起的数据的不一致性(数据冲突):丢失更新:两个用户(或以上)对同一个数据对象操作引起的数据丢失。解决方案:1.悲观锁,假设丢失更新一定存在;sql后面加上**for update;**这是数据库的一种机制。2.乐观锁,假设丢失更新不一定发生。update时候存在版本,更新时候按版本号进行更新。一、乐观锁乐观锁不是数据库自带的,需要我们自己去实现。乐观锁是指操作数据库时(更新操作),想法很乐观,认为这次的操作不会导致冲突,在操作数据时,并不进行任原创 2021-04-06 21:51:25 · 286 阅读 · 0 评论 -
Mysql 常用命令整理
安装数据库:mysqld installmysql的启停与连接:# 启动mysqlnet start mysql# 停止mysqlnet stop mysql# 客户端连接mysql(root用户)mysql -uroot -p创建用户:CREATE USER 'hap_dev'@'%' IDENTIFIED BY 'hap_dev';查看用户名和密码:use mysql;select user,host,authentication_string from user;原创 2020-06-28 16:46:45 · 127 阅读 · 0 评论 -
1292Incorrect datetime value 0000-00-00 00:00:00 for column targetTime at row 1 解决方案
1292 - Incorrect datetime value: ‘0000-00-00 00:00:00’ for column ‘targetTime’ at row 1 解决方案在使用 Navicat 对两个数据库数据进行数据传输时,发现了一个错误1292 - Incorrect datetime value: ‘0000-00-00 00:00:00’ for column ‘targetTime’ at row 1 。官方文档上说明MySQL允许将’0000-00-00’保存为“伪日期”,原创 2020-05-29 10:26:17 · 2665 阅读 · 0 评论 -
Mysql忘记 || 修改 数据库连接密码
Mysql忘记 || 修改 数据库连接密码解决方式:1、cmd 进入 数据库安装目录:D:\dev-env\mysql-5.7.26-winx64\binλ在任务管理器中关闭 mysqld.exe 程序。然后 输入如下命令:mysqld --skip-grant-tables输入命令 mysqld --skip-grant-tables 回车,此时就跳过了mysql的用户验证。注意输入此命令之后命令行就无法操作了,此时可以再打开一个新的命令行。注意:在输入此命令之前先在任务管理器原创 2020-05-21 10:36:20 · 153 阅读 · 0 评论