数据库
文章平均质量分 88
黑人小笼包
上海理工大学研究生
展开
-
三大范式与存储过程
1.三大范式第一范式:字段属性单一,不可再分第二范式:第一范式的基础上,加上所有非主属性完全依赖于主属性,即不存在部分依赖。完全依赖,一个属性a能够确定另一个属性b,b->a,b完全依赖于a,如果(a,b)->c,并且b也能确定c,那么就称c部分依赖于(a,b);这样就不符合第二范式;例如:订单表中,含有订单id,产品id,产品名称;通过订单id和产品id能确定整条...原创 2018-08-08 20:36:48 · 384 阅读 · 0 评论 -
B树、B+树--------原理解析
1.B树平衡二叉树的查找效率为O(log2N)与树的深度相关,通过降低树的深度,可以提高查找效率,但是还有一个瓶颈就是,每次查找一次就只能得到一个节点元素,如果查找一次能得到多个节点元素,那么在同样的高度就能够查找更多的元素,从而提高查找效率,因此提出多路查找树。多路查找树(muitl-way search tree),其每一个结点的孩子数可以多于两个,且每个结点出可以存储多个元素。由于它...原创 2018-09-08 12:53:17 · 12424 阅读 · 2 评论 -
数据库索引----感觉理解不是很深
索引(普通索引、唯一索引、全文索引、索引匹配原则、索引命中等)优点:第一,可以大大加快 数据的检索速度,这也是创建索引的最主要的原因。 第二,在使用分组和排序 子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。第三,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。缺点:第一,创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。第二,...原创 2018-09-09 21:14:04 · 2207 阅读 · 0 评论 -
InnoDB内存结构
1.内存1.1缓冲池在数据库系统中,CPU与磁盘速度之间存在极大速度差异,基于磁盘的数据库系统通常使用缓冲池技术来提高数据库的整体性能。缓冲池是一块内存区域,通过内存速度弥补磁盘速度较慢带来的影响。数据库读取页操作,首先将从磁盘读到的页存放到缓冲池中,称为将页fix到缓冲池中。下次读取相同页时,首先判断缓冲池中是否有该夜,如果有,则命中,直接读取该页,如果没有,在进行fix的过程。...原创 2018-09-12 09:30:23 · 1679 阅读 · 0 评论 -
MyISAM与InnoDB引擎
1.InnoDB存储引擎支持事务,是面向在线事务处理的应用、特点是行锁设计、支持外键。默认的select方式不加锁,而增删改会加排它锁。InnoDB存储引擎是MySQL默认的存储引擎。InnoDB通过使用多版本并发控制MVCC来获得高并发性,并且实现了SQL标准的四种隔离级别,默认为REPEATABLE_READ级别,同时使用next key locking的策略来避免幻读。对于表中数据的...原创 2018-09-12 10:12:18 · 794 阅读 · 0 评论 -
Mysql行转列--列转行
1.多行转成一列(并以","隔开)多行转多列,前提是要知道列数行转列原创 2018-09-16 14:48:05 · 171 阅读 · 0 评论 -
mysql中的锁(表锁,行锁)
MySQL锁开销、加锁速度、死锁、粒度、并发性能--表锁:开销小,加锁快,不会出现死锁,锁定粒度大,发生锁冲突概率高,并发度低--行锁:开销大,加锁慢,会出现死锁,锁定粒度小,发生锁冲突概率低,并发度高--页锁:介于行锁和表锁之间,会出现死锁,并发度一般表锁更适用于以查询为主,只有少量按索引条件更新数据的应用;行锁更适用于有大量按索引条件并发更新少量不同数据,同时又有并发查...原创 2018-09-10 20:07:09 · 7041 阅读 · 2 评论 -
springboot整合mongodb
1.准备工作:环境配置下载地址:链接: https://pan.baidu.com/s/1kt3ZxNumhJtCCcF6WBGVzA 提取码: ne6f 解压到目录d盘,也可以其他位置,建议不要c盘(系统盘)我的目录是:D:\mongodb-4.2.0解压后文件夹是:其中conf、data、log文件夹是不存在的,需要手动创建;创建conf文件夹,并新建mo...原创 2019-08-21 20:48:31 · 1299 阅读 · 0 评论