MySQL的知识点(1)

1、关系数据库管理系统(RDBMS)相关术语

  • 数据库: 数据库是一些关联表的集合。
  • 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
  • 列: 一列(数据元素) 包含了相同类型的数据, 例如邮政编码的数据。
  • **行:**一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
  • 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
  • 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
  • **外键:**外键用于关联两个表。
  • 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
  • **索引:**使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
  • 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。

2、数据库的三大范式的理解

  • 第一范式:原子性,保证数据不可再分。
  • 第二范式:前提:满足第一范式;每张表只描述一件事情,就是主键(候选码)就对应着所有信息。
  • 第三范式:前提:满足第一、二范式;第三范式需要保证表中的数据和主键直接相关,而不是间接相关。

3、数据库主键如何设计

  • 数据库主键不应具有任何实际意义(就是业务主键),是一个唯一标识一行,可以被外键有效引用的对象。

  • 主键生成方法UUID、雪花算法(适合分布式场景,缺点:所有节点的时钟不一定能保证完全同步)。


4、谈谈MySQL的索引,优点以及缺点。

  • MySQL索引是一种帮助快速查找数据的数据结构,可以把索引理解为书的目录。或者索引( index )是帮助MySQL高效获取数据的数据结构(有序)。
  • 优点:通过索引能够提高检索数据的效率。
  • 缺点:索引会增加存储压力,并且新增数据要同步维护索引。

5、请你说说聚簇索引和非聚簇索引

  • 聚簇索引:索引结果和数据一起存放的索引。
  • 优点:聚簇索引的查询速度非常快,因为聚簇索引本身就是一个B+树,数据节点属于有序的,当定位到索引上的时候就相当于找到了数据。
  • 缺点:更新的时候代价大,依赖有序的数据
  • 非聚簇索引:索引结构和数据分开存放的索引。
  • 优点:更新代价比聚簇索引小
  • 缺点:依赖有序的数据,可能会二次回表查找

6、数据库为什么不用红黑树而用B+树?

红黑树本质上还是二叉树,一个结点最多只能拥有两个子结点,而B+树则是多叉的,这会使得相同的数据存储,二叉树的高度会大于B+树;而数据是存储在磁盘上的,树的高度越高,磁盘IO次数越多,开销越大,B+树可以有效的减少这一开销;且B+树的叶子节点是通过链表的方式进行相连的,能在找到起点和终点后快速取出需要的数据


7、Redis如何与数据库保持双写一致性

  • 先更新数据库再删除缓存,如果有错误请重试

8、MySQL主从同步是如何实现的?

主服务器将数据的更改记录保存到二进制文件中,从服务器将主服务器中的二进制日志复制到自己的中继日志中,从服务器重做中继日志中的日志将更改应用到自己的数据库上,达成数据的最终统一性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

czxboys

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值