![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
ascendent@
这个作者很懒,什么都没留下…
展开
-
事务和MVCC
一、SQL事务事务是确保数据库一致的机制,尤其是发生错误或者服务器崩溃的情况下确保数据库一致的机制。事务的特性:ACID, 即原子性、一致性、隔离性、持久性原子性:一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作,这就是事务的原子性。一致性:数据库总是从一个一致性的状态转换到另外...原创 2019-07-31 17:48:08 · 321 阅读 · 0 评论 -
B树与B+树(索引数据结构)
1)n叉平衡树(B/+tree)结构 定义:二叉平衡树中每个结点有一个数据项,最多有两个子节点,如果允许树的每个节点可以有两个以上的子节点,那么这个树就称为n阶的多叉树,或称为n叉树。 性质:每个节点有m个子节点和m-1个键值。 每个节点中的键值按升序排列。 前i个子节点中的键值都小于第i个键值 ...原创 2019-07-31 17:56:18 · 462 阅读 · 0 评论 -
MySQL中truncate table 和 delete区别以及optimize table命令
MySQL中truncate table 和 delete命令相同点:都可以删除数据表中的数据区别:1、truncate table 速度要更快一些,但truncate删除后不记录mysql 日志,不可以恢复数据。 2、如果没有外键关联,innodb执行truncate是先drop table(原始表),再创建一个跟原始表一样的空表,速度要远远快于delete逐条删除...原创 2019-07-31 18:01:23 · 1735 阅读 · 0 评论 -
MySQL索引类型和创建索引的方式
一、索引类型1、普通索引:基本索引,没有任何限制2、唯一索引:唯一索引是不允许其中任何两行具有相同索引值的索引,可以有NULL值3、主键索引:数据库中表经常有一列或列组合,其值唯一标识表中的每一行。该列称为表的主键。在表中定义主键将自动创建主键索引,主键索引是唯一索引的特定类型。不能为NULL值,一个表只能有一个primary key索引。4、全文索引二、创建索引(三种方式)...原创 2019-08-01 09:37:58 · 758 阅读 · 0 评论 -
MySQL中varchar 和char类型介绍
varchar 和char类型是两种最重要的字符串类型,在存储引擎是InnoDB或MyISAM下,讨论varchar和char。一、varchar类型: varchar:用于可变长字符串,是最常见的字符串数据类型。它比定长类型更节省空间,按照存储的实际字符串长度分配空间。varchar需使用1或2个额外字节记录字符串的长度:如果列的最大长度小于或等于255字节,则只使用1个字节表示,否则...原创 2019-08-01 09:40:09 · 2246 阅读 · 0 评论 -
InnoDB存储引擎和MyISAM存储引擎的区别
1、存储结构 MyISAM: 每个MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。 .frm文件存储表定义,数据文件的扩展名为.MYD(MYData),索引文件的扩展名是MYI(MYIndex)。 InnoDB: 所有的表都保存在同一个数据文件中(也可能是多个文件,或者是独立的表空间文件),InnoDB表的大小只受限于操作系统文件的大...原创 2019-08-01 10:43:46 · 394 阅读 · 0 评论 -
MySQL锁机制
锁是数据库系统区别于文件系统的一个关键特性。数据库系统使用锁是为了支持对共享资源进行并发访问,提供数据的完整性和一致性。对于任何一种数据库来说都需要有相应的锁定机制,所以MySQL自然也不例外。MySQL数据库由于其自身架构的特点,存在多种数据存储引擎,每种存储引擎所针对的应用场景特点都不太一样,为了满足各自特定应用场景的需求,每种存储引擎的锁定机制都是为各自所面对的特定场景而优化设计,所...原创 2020-03-25 22:55:18 · 476 阅读 · 0 评论 -
事务的实现(redo log ,undo log) 和binlog
事务的实现 事务的隔离性由锁来实现,原子性,一致性,持久性通过数据库的redo log 和 undo log来完成,redo log称为 重做日志,用来保证事务的原子性和持久性。undo log用来保证事务的一致性。redo 和 undo 的作用都可以视为是一种恢复操作,redo恢复提交事务修改的页操作,而undo 回滚行记录到某个特定版本。因此两者记录的内容不同,redo通常是物...原创 2019-08-01 11:10:46 · 924 阅读 · 0 评论