mysql 数据库知识整理

mysql 数据库知识整理

知识点

在这里插入图片描述

面试被问的

  1. 数据库索引b+数,hash
    B+数是一个平衡大多叉树,搜索效率基本相当
    哈希索引 采用一定的哈希算法,把键值换成新的哈希值,检索时不需要类似B+
    1、所有的非叶子节点只存储关键字信息。
    2、所有卫星数据(具体数据)都存在叶子结点中。
    3、所有的叶子结点中包含了全部元素的信息。
    4、所有叶子节点之间都有一个链指针。

  2. 数据库语言(DML、DDL、DCL、DQL、TCL)
    DDL 数据库定义语言 create(创建表结构) drop(删除表内容和定义) alter (修改表结构)
    DML 数据库操作语言 insert update delete(删除数据)
    DQL 数据库查询语言 select
    DCL 数据库控制语言 grant revoke if else
    TCL 事务控制 COMMIT Rollback

  3. 行级锁 表级锁,乐观锁
    表级锁:开销小,加锁快,不会出现死锁。锁定粒度大,发生锁冲突的概率最高,并发量最低
    行级锁:开销大,加锁慢,会出现死锁。锁力度小,发生锁冲突的概率小,并发度最高
    乐观锁: 是用版本号控制,认为并发量少

  4. 存储过程
    存储过程类型分为存储过程 (PROCEDURE) 和存储函数 (FUNCTION)
    一组可编程的函数,是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。
    一些关键字
    1) delimiter// 识别创建语句
    2) PROCEDURE 存储过程
    3) call 调用
    4) begin开始,以end结束
    5) IN输入参数
    6)out 输出参数
    7) inout 输入输出参数

  5. drop truncate 和delete 区别

drop 1truncate 2delete
DDLDDLDML
删除数据+表结构删除数据删除数据
不记录事务日志不记录事务日志操作计入事务日志(rollback)
执行速度>执行速度>执行速度>
范围Table范围Table范围Table,view
  1. 为什么说B+Tree这个结构能对查询加速?全表扫描是怎么做的?走索引是怎么做的?
    1)B+Three 磁盘读写代价更低,内部节没有指向具体信息的指针。因此内部节点比b-three小,同一内部节点信息存放磁盘快,容纳关键字多,一次从内存读出关键字多,减少IO读写次数
    2) B-Three 遍历效率低下的问题。B+Three 只需要遍历所有叶子节点就可以实现整棵树的遍历,范围查找B+Three 支持的很好
    3)所谓索引,即快速的定位和查找,那么索引的组织结构减少查找过程的磁盘IO的存取次数
    4) 局部性原理,磁盘预读。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值