第七章 MySQL 面试题.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
, mysql的复制原理以及流程。(1)先问基本原理流程,3个线程以及之间的关联。(2)再问一致性,延时性,数据恢复。(3)再问各种工作遇到的复制bug的解决方法3,问mysql中varchar与char的区别以及varchar(50)中的30代表的涵义。(1)varchar与char的区别? ? ? ? char是一种固定长度的类型,varchar则是一种可变长度的类型(2)varchar(50)中50的涵义? ? ? ? ?最多存放50个字节(3)int(20)中20的涵义? ? ? ? ?int(M)中的M?indicates the?maximum display width (最大显示宽度)for integer types. The maximum legal display width is 255.(4)为什么MySQL这样设计?? ? ??4,问了innodb的事务与日志的实现方式。?(1)有多少种日志错误日志:记录出错信息,也记录一些警告信息或者正确的信息慢查询日志:设置一个阈值,将运行时间超过该值的所有SQL语句都记录到慢查询的日志文件中。二进制日志:记录对数据库执行更改的所有操作??查询日志:记录所有对数据库请求的信息,不论这些请求是否得到了正确的执行。(2)日志的存放形式(3)事务是如何通过日志来实现的,说得越深入越好。隔离性:通过锁实现原子性、一致性和持久性是通过 redo和undo来完成的。5,问了mysql binlog的几种日志录入格式以及区别(1)各种日志格式的涵义(2)适用场景(3)结合第一个问题,每一种日志格式在复制中的优劣。6,问了下mysql数据库cpu飙升到500%的话他怎么处理?(1)没有经验的,可以不问(2)有经验的,问他们的处理思路7,sql优化。(1)explain出来的各种item的意义(2)profile的意义以及使用场景。(3)explain中的索引问题。8, 备份计划,mysqldump以及xtranbackup的实现原理,(1)备份计划(2)备份恢复时间(3)备份恢复失败如何处理9, 500台db,在最快时间之内重启。10, 在当前的工作中,你碰到到的最大的mysql db问题是?11, innodb的读写参数优化(1)读取参数,global buffer pool以及 local buffer(2)写入参数(3)与IO相关的参数(4)缓存参数以及缓存的适用场景12 ,请简洁地描述下MySQL中InnoDB支持的四种事务隔离级别名称,以及逐级之间的区别?SQL标准定义的四个隔离级别为:read uncommitedread committedrepeatable readserializableRead Uncommitted(读取未提交内容)??????在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirty Read)。Read Committed(读取提交内容)??????这是大多数数据库系统的默认隔离级别(但不是MySQL默认的)。它满足了隔离的简单定义:一个事务只能看见已经提交事务所做的改变。这种隔离级别也支持所谓的不可重复读(Nonrepeatable Read),因为同一事务的其他实例在该实例处理其间可能会有新的commit,所以同一select可能返回不同结果。Repeatable Read(可重读)??????这是MySQL的默认事务隔离级别,它确保同一事务的多个实例在并发读取数据时,会看到同样的数据行。不过理论上,这会导致另一个棘手的问题:幻读(Phantom Read)。简单的说,幻读指当用户读取某一范围的数据行时,另一个事务又在该范围内插入了新行,当用户再读取该范围的数据行时,会发现有新的“幻影” 行。InnoDB和Falcon存储引擎通过多版本并发控制(MVCC,Multiversion Concurrency Control?间隙锁)机制解决了该问题。注:其实多版本只是解决不可重复读问题,而加上间隙锁(也就是它这里所谓的并发控制)才解决了幻读问题。Serializable(可串行化)这是最高的隔离级别,它通过强制事务排序,使之不可能相互冲突,从而解决幻读问题。简言之,它是在每个读的数据行上加上共享锁。在这个级别,可能导致大量的超时现象和锁竞争。? ?????对于不同的事务,采用不同的隔离级别分别有不同的结果。不同的隔离级别有不同的现象。主要有下面3种现在:1、脏读(dirty read):一个事务可以读取另一个尚未提交事务的修改数据。2、非重复读(nonrepeatable read):在同一个事务中,同一个查询在T1时间读取某一

文档评论(0)

xiaofei2001128 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档