转自http://blog.itpub.net/26435490/viewspace-1133659/

1, 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 uncommited

read committed

repeatable read

serializable

Read 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时间读取某一行,在T2时间重新读取这一行时候,这一行的数据已经发生修改,可能被更新了(update),也可能被删除了(delete)。

3、幻像读(phantom read):在同一事务中,同一查询多次进行时候,由于其他插入操作(insert)的事务提交,导致每次返回不同的结果集。

不同的隔离级别有不同的现象,并有不同的锁定/并发机制,隔离级别越高,数据库的并发性就越差,4种事务隔离级别分别表现的现象如下表:

隔离级别 脏读 非重复读 幻像读
read uncommitted 允许 允许 允许
read committed   允许 允许
repeatable read     允许
serializable      

13,表中有大字段X(例如:text类型),且字段X不会经常更新,以读为为主,请问

(1)您 是选择拆成子表,还是继续放一起?
拆成子表

(2)写出您这样选择的理由?
1   提高检索效率

14,MySQL中InnoDB引擎的行锁是通过加在什么上完成(或称实现)的?为什么是这样子的
通过   行多版本控制

15  MyISAM 与innodb的区别

(1) 问5点不同

MyISAM                  Innodb

事物支持 :   不支持                     支持

锁的粒度:     table                      Row

存储容量:    没有上限               64TB

哈希索引 :   不支持                       支持

全文索引:   支持                         不支持

外键:            不支持                    支持

(2) 问各种不同mysql版本的2者的改进
(3)2者的索引的实现方式

16   B+ 树

http://blog.csdn.net/ggxxkkll/article/details/7551766

我的理解

事务的ACID
A原子性
C一致性
I隔离性
D持久性

数据库的三范式
1第一范式就是无重复的列
2通常需要为表加上一个列,以存储各个实例的惟一标识
3第三范式就是属性不依赖于其它非主属性。(我的理解是消除冗余)

数据库如何优化
设计优化
查询优化 WHERE字句
索引优化
硬件优化

事务是如何通过日志来实现的,说得越深入越好。???
隔离性: 通过 锁 实现
原子性、一致性和持久性是通过 redo和UNDO来完成的。

理解BIN-LOG-FORMAT的三种模式
mix ROW statement

EXPLAIN的每一个字段
EXPLAIN SELECT 1 FROM DUAL;
EXPLAIN的每一个字段
id[SELECT次序] KEY[使用哪个索引] ps_key key_length TABLE TYPE[获取数据类型] ref ROWS[扫描行数] extra

备份计划,mysqldump以及xtranbackup的实现原理???
包括文件系统快照(LVM),逻辑备份工具Mysqldump,Mydumper,以及物理备份工具Xtrabackup
http://www.cnblogs.com/zengkefu/p/5669512.html

请简洁地描述下MySQL中INNODB支持的四种事务隔离级别名称,以及逐级之间的区别???
不可重复读
可重复读
序列读

MySQL中INNODB引擎的行锁是通过加在什么上完成(或称实现)的?为什么是这样子的
也就是MVCC

MYISAM 与INNODB的区别
事务
外键
数据文件和索引文件是否分开

1207MySQL 面试题的更多相关文章

  1. .NET面试题系列[8] - 泛型

    “可变性是以一种类型安全的方式,将一个对象作为另一个对象来使用.“ - Jon Skeet .NET面试题系列目录 .NET面试题系列[1] - .NET框架基础知识(1) .NET面试题系列[2] ...

  2. 关于面试题 Array.indexof() 方法的实现及思考

    这是我在面试大公司时碰到的一个笔试题,当时自己云里雾里的胡写了一番,回头也曾思考过,最终没实现也就不了了之了. 昨天看到有网友说面试中也碰到过这个问题,我就重新思考了这个问题的实现方法. 对于想进大公 ...

  3. 对Thoughtworks的有趣笔试题实践

    记得2014年在网上看到Thoughtworks的一道笔试题,当时觉得挺有意思,但是没动手去写.这几天又在网上看到了,于是我抽了一点时间写了下,我把程序运行的结果跟网上的答案对了一下,应该是对的,但是 ...

  4. 从阿里巴巴笔试题看Java加载顺序

    一.阿里巴巴笔试题: public class T implements Cloneable { public static int k = 0; public static T t1 = new T ...

  5. JAVA面试题

    在这里我将收录我面试过程中遇到的一些好玩的面试题目 第一个面试题:ABC问题,有三个线程,工作的内容分别是打印出"A""B""C",需要做的 ...

  6. C++常考面试题汇总

    c++面试题 一 用简洁的语言描述 c++ 在 c 语言的基础上开发的一种面向对象编程的语言: 应用广泛: 支持多种编程范式,面向对象编程,泛型编程,和过程化编程:广泛应用于系统开发,引擎开发:支持类 ...

  7. .NET面试题系列[4] - C# 基础知识(2)

    2 类型转换 面试出现频率:主要考察装箱和拆箱.对于有笔试题的场合也可能会考一些基本的类型转换是否合法. 重要程度:10/10 CLR最重要的特性之一就是类型安全性.在运行时,CLR总是知道一个对象是 ...

  8. 我们公司的ASP.NET 笔试题,你觉得难度如何

    本套试题共8个题,主要考察C#面向对象基础,SQL和ASP.NET MVC基础知识. 第1-3题会使用到一个枚举类,其定义如下: public enum QuestionType { Text = , ...

  9. 我设计的ASP.NET笔试题,你会多少呢

    本笔试题考查范围包括面向对象基础.HTML.CSS.JS.EF.jQuery.SQL.编码思想.算法等范围. 第1题:接口和抽象类有何区别? 第2题:静态方法和实例方法有何区别? 第3题:什么是多态? ...

随机推荐

  1. Oracle 中的操作符

    1.union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序: SELECT * FROM emp WHERE sal < UNION SELECT * FROM emp WH ...

  2. Asp.Net Core 项目实战之权限管理系统(5) 用户登录

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  3. Basic Tutorials of Redis(8) -Transaction

    Data play an important part in our project,how can we ensure correctness of the data and prevent the ...

  4. 有点激动,WPF换肤搞定了!

    一如既往没废话! wpf桌面应用开发都是window内引入很多个UserControl. 如果你有通过不同颜色来换肤的需求,那么下面我就将整个过程! 分2个步骤: 1.主窗体背景色替换: 2.同时界面 ...

  5. 关于fefo函数

    feof是C语言标准库函数函数,其原型在stdio.h中,其功能是检测流上的文件结束符. 函数原型: int feof(FILE *stream); 返回值:如果文件结束,则返回非0值,否则返回0 在 ...

  6. Scala Reflection - Mirrors,ClassTag,TypeTag and WeakTypeTag

    反射reflection是程序对自身的检查.验证甚至代码修改功能.反射可以通过它的Reify功能来实时自动构建生成静态的Scala实例如:类(class).方法(method).表达式(express ...

  7. JavaScript 字符串操作

    JavaScript 字符串用于存储和处理文本.因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Da ...

  8. [转载]C#委托和事件(Delegate、Event、EventHandler、EventArgs)

    原文链接:http://blog.csdn.net/zwj7612356/article/details/8272520 14.1.委托 当要把方法作为实参传送给其他方法的形参时,形参需要使用委托.委 ...

  9. Mysql(windows)安装

    h3 { color: rgb(255, 255, 255); background-color: rgb(30,144,255); padding: 3px; margin: 10px 0px } ...

  10. Oracle Sales Cloud:报告和分析(BIEE)小细节2——利用变量和过滤器传参(例如,根据提示展示不同部门的数据)

    在上一篇随笔中,我们建立了部门和子部门的双提示,并将部门和子部门做了关联.那么,本篇随笔我们重点介绍利用建好的双提示进行传参. 在操作之前,我们来看一个报告和分析的具体需求: [1] 两个有关联的提示 ...