
数据库
nwpu_geeker
向大牛学习!
展开
-
数据库事务的四大特性以及事务的隔离级别
前言本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。事务的四大特性如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。⑵ 一致性转载 2018-01-25 17:19:10 · 1360 阅读 · 0 评论 -
mysql联合索引的理解
命名规则:表名_字段名1、需要加索引的字段,要在where条件中2、数据量少的字段不需要加索引3、如果where条件中是OR关系,加索引不起作用4、符合最左原则https://segmentfault.com/q/1010000003984016/a-1020000003984281联合索引又叫复合索引。对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只...转载 2018-07-19 23:19:16 · 1182 阅读 · 0 评论 -
MYSQL中的乐观锁实现(MVCC)简析
什么是MVCCMVCC即Multi-Version Concurrency Control,中文翻译过来叫多版本并发控制。MVCC是解决了什么问题众所周知,在MYSQL中,MyISAM使用的是表锁,InnoDB使用的是行锁。而InnoDB的事务分为四个隔离级别,其中默认的隔离级别REPEATABLE READ需要两个不同的事务相互之间不能影响,而且还能支持并发,这点悲观锁是达不到的,所以R...转载 2018-07-09 17:32:59 · 314 阅读 · 0 评论 -
超实用的MySQL replace into 用法
超实用的 MySQL replace into 用法(insert into 的增强版)今天项目中出现一个问题,大概就是向表中插入数据,如果有一个字段例如:username被设置成唯一索引,那么该用户再插入一条数据时会报错。这时如果是常规做法,需要先根据username获取之前保存的一条数据,如果存在,就修改这条数据,如果不存在,则插入。然后问了下老大,老大给了我一个特别简单使用的办法,就是 ...原创 2018-05-11 20:13:49 · 2095 阅读 · 0 评论 -
java中的DateTime类型和mysql中的TimeStamp类型时间数据差了13小时的问题解决
今天在项目中遇到java的TimeStamp类型的时间数据插入到mysql的DateTime类型时发现时间刚好差了13个小时。因此上网查了查相关问题的解决,折腾了半天,记录下来解决方案。不管是差了几个小时,其实就是时区的问题。可以通过先查询自己本地时区 一般都是东八区没错。然后关键就是也将数据库mysql中的时区改为东八区。 1.登录mysql mysql -uroot -p 输入密码;原创 2018-05-01 12:11:47 · 9778 阅读 · 3 评论 -
数据库三大范式的理解
一: 引言 作为一个数据库的学习者,搞懂关系数据库的三大范式是很有用的。然而教科书上有关数据库范式的介绍都是采用学术性的定义,语法羞涩,让人难懂,故写下自己对数据库范式的理解,给初学者提供帮助,也备日后查看。 本文不介绍规范化程度高于3NF的范式,因为其在实际应用中基本不会用到,原因也是很明...转载 2018-03-26 23:01:04 · 3937 阅读 · 0 评论 -
MySQL数据库之MyISAM与InnoDB的区别
MySQL数据库之MyISAM与InnoDB的区别 从以下几个方面: 1、存储结构 每个MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。 .frm文件存储表定义。 数据文件的扩展名为.MYD (MYData)。 索引文件的扩展名是.MYI (MYIndex)。2、存储空间 MyISAM:可被压缩,存储空间较小。 InnoDB:...转载 2018-03-26 10:38:35 · 813 阅读 · 0 评论 -
mysql的常用引擎
在MySQL数据库中,常用的引擎主要就是2个:Innodb和MyISAM。首先:1.简单介绍这两种引擎,以及该如何去选择。 2.这两种引擎所使用的数据结构是什么。1.a.Innodb引擎,Innodb引擎提供了对数据库ACID事务的支持。并且还提供了行级锁和外键的约束。它的设计的目标就是处理大数据容量的数据库系统。它本身实际上是基于Mysql后台的完整的系统。Mysql运行的时候...原创 2018-03-17 20:50:50 · 1014 阅读 · 0 评论 -
orcal数据库的事务隔离级别
回顾下mysql数据库的隔离级别和解决问题主要有四种: (1)read uncommitted – 不能解决任何缺点 (2)read committed – 脏读,Oracle默认 (3)reapatable read – 不可重复读,脏读,MySQL默认 (4)serializable – 幻读,不可重复读,脏读,效率低事务的隔离级别定义主要是针对多并发性问题。即不同的用户操原创 2018-02-06 12:09:49 · 1512 阅读 · 0 评论 -
正确理解where和having的使用
以前在学校里学习过SQLserver数据库,发现学习的都是皮毛,今天以正确的姿态谈一下MySQL中where和having的区别。 误区:不要错误的认为having和group by 必须配合使用。下面以一个例子来具体的讲解:1. where和having都可以使用的场景 select goods_price,goods_n...转载 2018-08-26 17:39:51 · 1276 阅读 · 0 评论