MySQL问答题第三节

  1. MySQL 服务器进程 mysqld 由哪三层组成,从各自所实现的功能角度分别加以说明。

答:连接层:为每个连接维护一个线程,进行身份验证,处理查询执行。

SQL层:包括了解析,授权分析,优化,执行,查询日志记录

存储层:管理表数据,常见的存储引擎有InnoDB,MyISAM,MEMORY和NDBCLUSTER

2. MySQL 支持的通讯协议都有哪些?其连接方式和所支持的操作系统有何不同。

答:

通讯协议

连接方式

所支持的操作系统

TCP/IP

Local,remote

AII

Socket file

local

UNIX-derived operating systems

Including

Linux,BSD,Max OS X

Shared memory

local

Windows

Named pipes

local

Windows

3.请说明 SQL 层的组件名称和各自的作用。

答:解析器:验证查询的语法和语义,并将其装欢为标准表单

授权:验证是否允许所连接的用户运行该查询,并且对该查询所引用的对象具有足够的权限

优化器:为每个查询创建一个最佳的执行计划,这涉及到决定使用哪些索引以及以那个顺序处理表

查询执行:完成每个查询的执行计划

查询日志记录:记录服务器接受或执行的查询

4.MySQL 8.0 除了默认的存储引擎 InnoDB 之外,还有哪些常用的存储引擎?

答:MyISAM, MEMORY, ARCHIVE, BLACKHOLE, MERGE, CSV, FEDERATED, NABCLUSTER

InnoDB和NDBCLUSTER是仅有的俩个支持外键的事务性MySQL存储引擎

5.MySQL 数据库的哪些功能依赖于存储引擎的实现?

答:1.存储介质:磁盘  内存  网络数据节点   空(BLACKHOLE)

  1. 事务处理能力:具有提交和回退的多语句事务   隔离等级
  2. 锁定:表级别之上的锁定粒度     多版本并发控制(MVCC)

6.InnoDB 存储引擎主要有哪些功能特点?

答:InnoDB是MySQL的默认存储引擎,它支持事务安全(符合ACID原则),MVCC(多版本并发控制),行级锁定,支持外键引用完整性约束,损坏后的快速自动回复,支持内存缓存数据和索引缓冲池

7.MyISAM 存储引擎主要有哪些功能特点?

答:MyISAM是MySQL5.5之前的默认存储引擎 快速简单 支持FULLTEXT索引 支持空间数据类型和索引 支持标记锁 仅支持原始表级别的备份和恢复

8.在 MySQL 数据目录下,都存放哪些数据库组件?

答:保存有mysql数据库和其他数据库目录 InnoDB日志文件和系统表空间

9.MySQL 的数据字典记录的元数据类型有哪些?

答:1)Table Definitions  2)SP Definitions  3)ACL

4)View Definitions  5)Schemas

10.请说明 MySQL 8.0 和之前版本在管理元数据上的区别。

答:MySQL 8.0使用的是InnoDB存储引擎

之前版本使用MyISAM存储引擎

11.MySQL 8.0 使用 JSON 序列化元数据存储,有什么好处?

答:JSON序列化元数据存储可以跨平台高效率的共享。

12.MySQL 8.0 的表空间类型有哪几种,各自的用途是什么?

答:数据表空间:1.系统文件表空间

  1. 通用表空间:
  2. 单表文件表空间:

还原表空间:未修改的原始的副本

临时表表空间:临时表的数据就在临时表表空间

13.对于系统表空间,它保存有哪些数据,默认的存放位置和文件名称是什么? 

答:InnoDB数据字典:表 索引和列与数据

更改缓冲区:对辅助索引页的更改

双写缓冲区:确保崩溃安全的写入

存放在:数据目录中的一个或多个文件

文件名称:ibdata1  ibdata2

14.请给出单表文件表空间和通用表空间的区别以及各自的适用场合。

答:单表文件表空间:1.表压缩:不能在相同的通用表空间或系统表空间中混合压缩和为压缩的表。

  1. 表空间的回收(带有截断表):InnoDB删除并重新创建截断的文件可允许的表空间,并将空闲空间释放回文件系统

通用表空间:1.减少了可删除大量数据的语句的文件系统开销(如DROP表或截断表)

2.减少了内存,以存储表空间元数据

15.对于通用表空间类型,每个表空间有且仅有一个数据文件,这个表述对不对?

答;不对

16..innodb_data_file_path 和 innodb_file_per_table 这两个参数各自的作用是什么?

答:innodb_data_file_path选项可配置磁盘上的InnoDB系统表空间文件的大小和物理位置

Innodb_file_per_tabl选项指定MySQL是将新的表数据和索引存储在系统表空间中,还是存储在一个单独的。ibd文件中

17.请说明重做(redo)和还原(undo)各自在 MySQL 数据库中的作用。

答:重做:1.再将InnoDB更改操作进行到数据文件之前存储它们

  1. 使InnoDB能够优化数据写入,从而使它们不需要同步发生

2.是否在宕机恢复期间使用

1)InnoDB会重新执行重做日志文件中的操作,以确保所有表之间的事务一致性,即使是对于在宕机前没有写入数据文件的操作

3.默认情况下是否位于数据目录中

1)通常,ib-logfile0和logfile1

2)由innodb_log_group_home_dir选项控制

还原:1.存储被事务修改的未修改数据的副本,以便InnoDB可以访问早期版本的数据

2.也被称为回滚段

3.默认情况下是否存储在还原表空间中

4.用于MVCC和回退:1)InnoDB从还原日志中检索未经修改的数据

2)如果您回退一个事务处理

3)如果另一个事务需要经早期的数据作为以中国i行读取的一部分进行查看

5.内部划分为:1)插入还原缓冲区

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值