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时间戳的指令。

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

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

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

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

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

luyaran

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

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

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

打赏作者

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

抵扣说明:

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

余额充值