![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 87
行万里路,读万卷书
工作三年
展开
-
Redis入门
概述 Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API原创 2022-04-23 16:28:07 · 1418 阅读 · 0 评论 -
MySQL基本操作-数据库和表
数据库的操作 MySQL中,数据库的基本操作有:创建、查看、选择以及删除4种。 创建数据库:CREATE DATABASE database_name; database_name是你要创建的数据的名称; 查看数据库: ...原创 2019-09-04 15:10:57 · 305 阅读 · 0 评论 -
B-Tree索引与原理
B-Tree B-Tree(多路搜索树,并不是二叉树)是一种常见的数据结构。使用B-Tree结构可以显著减少定位记录时所经历的中间过程,从而加快存取速度。 节点 B-Tree中,每个结点包含: 1、本结点所含关键字的个数; 2、指向父节点的指针; 3、关键字; 4、指向子结点的指针; 对于一棵m阶B-tree,每个结点至多可以拥有m个子结点。各结点的关键字和可以拥有的子结点数都有限制,规定m阶B-...原创 2019-07-17 19:58:48 · 584 阅读 · 0 评论 -
B+Tree索引与原理
基本概念 上图就是一个带顺序访问指针的B+Tree结构图,它由2部分组成内部节点(Interior Page),叶节点(Leaf Page)。 其中内部节点只能存储key和指针,真正的数据是存储在叶节点 ...原创 2019-07-17 14:34:39 · 843 阅读 · 0 评论 -
数据库存储引擎
数据库引擎 数据库引擎是用于存储、处理和保护数据的核心服务。利用数据库引擎可控制访问权限并快速处理事务,从而满足企业内大多数需要处理大量数据的应用程序的要求。 使用数据库引擎创建用于联机事务处理或联机分析处理数据的关系数据库。这包括创建用于存储数据的表和用于查看、管理和保护数据安全的数据库对象(如索引、视图和存储过程)。可以使用 SQL Server Management Studio 管理数据库...原创 2019-07-11 22:26:50 · 106 阅读 · 0 评论 -
关系数据库设计理论
函数依赖 记A->B表示A函数决定B,也可以说B函数依赖于A。 如果{A1,A2,…,An}是关系的一个或多个属性集合,该集合函数决定了关系的其它所有属性并且是最小的,那么该集合就称为键码。 对于A->B,如果能找到A的真子集A’,使得A‘->B,那么A->B就是部分函数依赖,否则就是完全函数依赖; 对于A->B,B->C,则A->C是一个传递函数依赖。...原创 2019-07-01 13:41:21 · 239 阅读 · 0 评论 -
多版本并发控制
多版本并发控制(Multi-Version Concurrency Control,MVVC)是MySQL的InnoDB存储引擎实现隔离级别的一种具体方式,用于实现提交读和可重复读这两种隔离级别。而未提交读隔离级别总是读取最新的数据行,无需使用MVVC;可串行化隔离级别需要对所有读取的行都加锁,单独使用MVVC无法实现。 版本号 系统版本号:是一个递增的数字,每开始一个新的事务,系统版本号就会自...原创 2019-07-01 11:10:08 · 1304 阅读 · 0 评论 -
封锁协议
三级封锁协议 一级封锁协议 事务T要修改数据A时必须加X锁,直到T结束才释放锁。 可以解决丢失修改问题,因为不能同时有两个事务对用一个数据进行修改,那么事务的修改就不会被覆盖。 二级封锁协议 在一级的基础上,要求读取数据A时必须加S锁,读取完马上释放S锁。 可以解决读脏数据问题,因为如果一个事务在对数据A进行修改,根据一级封锁协议,会加X锁,那么就不能再加S锁了,也就不会读入数据。 三级封锁协议 ...原创 2019-07-01 10:32:29 · 4239 阅读 · 0 评论 -
封锁
MySQL中提供了两种封锁粒度:行级锁和表级锁。 应该尽量只锁定需要修改的那部分数据,而不是所有的资源。锁定的数据量越少,并发锁争用的可能性越小,系统的并发程度越高。 但是加锁需要消耗资源,锁的各种操作(包括获取锁、释放锁、以及检查锁状态)都会增加系统开销。因此封锁粒度越小,系统开销越大。 在选择封锁粒度时,需要在锁开销和并发程度之间做一个权衡。 ...原创 2019-07-01 09:41:39 · 185 阅读 · 0 评论 -
事务的隔离级别
未提交读(READ UNCOMMITTED) 事务中的修改,即使没有提交,对其它事务也是可见的。 提交读(READ COMMITTED) 一个事务只能读取已经提交的事务所作的修改。换句话说,一个事务所做的修改在提交之前对其它事务是不可见的。 可重复读(REPEATABLE READ) 保证在同一个事务中多次读取同样数据的结果是一样的。 可串行化(SERIALIZABLE) 强制事务串行执行。 ...原创 2019-07-01 09:33:58 · 78 阅读 · 0 评论 -
事务
概念 事务指的是满足ACID特性的一组操作,可以通过Commit提交一个事务,也可以使用Rollback进行回滚。 ACID (1) 原子性(Atomicity) 事务被视为不可分割的最小单元,事务的所有操作要么全部提交成功,要么全部失败回滚。 回滚可以用日志来实现,日志记录着事务所执行的修改操作,在回滚时反向执行这些修改操作即可。 (2) 一致性(Consistency) 数据库在事务执行前后...原创 2019-07-01 08:58:51 · 100 阅读 · 0 评论 -
Redis
简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。 Redis支持数据....................................................原创 2019-07-09 20:01:58 · 577 阅读 · 0 评论