数据库
Emiya_Zero
渣渣程序猿
展开
-
数据库(六)
关键语法 1.gorup by 2.having 3.统计相关:count , sum ,max ,min ,avg group by 1.满足select 子句中的列名必须为分组列或别的表的列或sum,min等列函数 2.列函数对于group by 子句定义的每个组各返回一个结果 Having 1.通常与Group by 一起用 2.where 过滤行,having 过滤组 3.顺序,where...原创 2020-03-06 22:06:39 · 127 阅读 · 0 评论 -
数据库(五)
数据库锁的分类 按锁的颗粒度分,可分为表级锁,行级锁,页级锁(颗粒由小到大) 按锁级别划分,可分为共享锁、排他锁 按加锁方式分,可分为自动锁、显示锁(for update 操作等) 按操作划分、可分为DML锁(CRUD操作的),DDL锁(表结构变更的) 按使用方式划分、可分为乐观锁,悲观锁 共享锁 排他锁 共享锁 兼容 冲突 排他锁 冲突 冲突 表级锁:开销小,加锁快...原创 2020-03-02 21:13:46 · 166 阅读 · 0 评论 -
数据库(四)
密集索引和稀疏索引的区别 密集索引文件中的每个搜索码值都对应一个索引值 稀疏索引文件只为索引码的某些值建立索引项 密集索引每个搜索码都对应一个索引 稀疏索引文件只为索引码的某些值建立索引项 InnoDB和MylSAM区别 Mysql存在两种引擎:InnoDB,MyISAM MyISAM: 不管是主键索引、唯一键索引或者普通索引,其索引都属于稀疏索引 InnoDB: 若一个主键被定义,该主键...原创 2020-02-27 21:25:56 · 115 阅读 · 0 评论 -
数据库(三)
B+树 B+树是B树的变体,定义基本与B树相同,除了: 非叶子节点的子树指针和关键字个数相同 非叶子节点的子树指针P[I],指向关键字值[K[I],K[I+1])(前闭后开)的子树 非叶子节点仅用来索引,数据都保存在叶子节点中 所有叶子节点均有一个链指针指向下一个叶子节点 B+树更适合用来做存储索引 B+树的磁盘读写代价更低 B+树的查询效率更加稳定 B+树更有利于对数据库的扫描 ...原创 2020-02-26 22:09:11 · 312 阅读 · 0 评论 -
数据库(二)
B树的删除 查找要删除的关键字target所在的节点和位置 Case 1:如果target是在叶子节点直接删除关键字 Case 2:如果target不是在叶子节点,则从“子孙节点”中找到比target大的最小关键字,将该关键字移到目标关键字节点并覆盖目标关键字。并在叶子节点中删除提上来的这个关键字。 调整B树 调整B树的算法 因为节点的关键字数量为ceil(m/2)-1<=n...原创 2020-02-24 21:52:45 · 171 阅读 · 0 评论 -
数据库(一)
数据库分为关系型数据库与非关系型数据库 常见的关系型数据库有:Oralce Mysql Sqlserver ,非关系型数据库:Redis,Hbase 关系型数据库 关系型数据库系统(RDBMS) 索引 为什么使用索引 在数据库查找的时候用select查询是走的全表扫描当数据量大的时候会很慢,而加入索引会减少查询时间。但是当数据量小的时候直接全表扫描会比索引快。 用什么数据做索引好 一般...原创 2020-02-23 21:41:27 · 1186 阅读 · 0 评论