MySQL面试常见题目(八)

本文介绍了MySQL数据库的一些核心概念,包括三大范式、MyISAM与InnoDB索引的区别、索引的优缺点、CHAR与VARCHAR的区别、主键与候选键的差异,以及Unix与MySQL时间戳的转换方法。这些内容对于理解MySQL数据库管理和优化至关重要。

原文地址:MySQL面试常见题目(八)

1、数据库三大范式?

  1. 第一范式:每个列都不可再拆分。

  2. 第二范式:在第一范式基础上,非主键列完全依赖于主键,而不能依赖于主键的一部分。

  3. 第三范式:在第二范式基础上,非主键列只依赖于主键,不依赖于其它非主键。

2、MyISAM索引和InnoDB索引的区别?

  1. InnoDB索引是聚簇索引,MyISAM索引是非聚簇索引。

  2. InnoDB主键索引的叶子节点存储着行数据,因此主键索引非常高效。

  3. MyISAM主键索引的叶子节点存储的是行数据地址,需寻址一次才能得到数据。

  4. InnoDB非主键索引叶子节点存储着主键和其它带索引的列数据,也正是如此,查询时可做到覆盖索引,效率很高。

3、什么是索引?

索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),包含着对数据表里所有记录的引用指针。

索引是一种数据结构,数据库索引是数据库管理系统中一个排序的数据结构,可协助快速查询、更新数据库表中数据,通常使用B树及其变种B+树。

索引可看作目录,为方便查找书中内容,通过对书中内容建立索引形成目录,索引是文件,需占用物理空间。

4、索引优缺点?

索引的优点:

  1. 可加快数据检索速度。

  2. 通过使用索引,可在查询过程中使用优化隐藏器,提高系统性能。

索引的缺点:

  1. 时间:创建和维护索引需消耗时间,当对表中数据进行CURD时,索引也需动态维护,会降低CURD执行效率。

  2. 空间:会占用物理空间。

5、char和varchar的区别?

  1. char和varchar在存储和检索方面不同。

  2. char列长度固定为创建表时声明的长度,范围值是1~255。

  3. 当char被存储时,如不满足长度则使用空格填充,检索char时需删除尾随空格。

6、主键和候选键的区别?

表格的每一行都有主键唯一标识,一个表只有一个主键,主键也是候选键,按照惯例,候选键可被指定为主键,且可用于任何外键引用。

7、如何在Unix和MySQL时间戳之间进行转换?

  1. UNIX_TIMESTAMP是从MySQL时间戳转为Unix时间戳的指令。

  2. FORM_UNIXTIME是从Unix时间戳转为MySQL时间戳的指令。

至此,本次分享就结束了,后期会慢慢补充的。

以上仅为个人观点,不一定准确,能帮到各位那是最好的。

好啦,到这里本文就结束了,喜欢的话就来个三连击吧。

扫码关注公众号,获取更多优质内容。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

luyaran

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

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

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

打赏作者

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

抵扣说明:

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

余额充值