1、MySQL的复制原理以及流程


2、MySQL中myisam与innodb的区别,至少5点

(1)、问5点不同;

(2)、innodb引擎的4大特性

(3)、2者selectcount(*)哪个更快,为什么

3、MySQL中varchar与char的区别以及varchar(50)中的50代表的涵义

4、问了innodb的事务与日志的实现方式

5、问了MySQL binlog的几种日志录入格式以及区别

6、问了下MySQL数据库cpu飙升到500%的话他怎么处理?

7、sql优化

8、备份计划,mysqldump以及xtranbackup的实现原理

9、mysqldump中备份出来的sql,如果我想sql文件中,一行只有一个insert....value()的话,怎么办?如果备份需要带上master的复制点信息怎么办?


10、500台db,在最快时间之内重启

11、innodb的读写参数优化


12、你是如何监控你们的数据库的?你们的慢日志都是怎么查询的?


13、你是否做过主从一致性校验,如果有,怎么做的,如果没有,你打算怎么做?

14、你们数据库是否支持emoji表情,如果不支持,如何操作?


15、你是如何维护数据库的数据字典的?


16、你们是否有开发规范,如果有,如何执行的


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


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

19、如何从mysqldump产生的全库备份中只恢复某一个库、某一张表?



开放性问题:据说是腾讯的
一个6亿的表a,一个3亿的表b,通过外间tid关联,你如何最快的查询出满足条件的第50000到第50200中的这200条数据记录。
1、如果A表TID是自增长,并且是连续的,B表的ID为索引
select * from a,b where a.tid = b.id and a.tid>500000 limit 200;

2、如果A表的TID不是连续的,那么就需要使用覆盖索引.TID要么是主键,要么是辅助索引,B表ID也需要有索引。
select * from b , (select tid from a limit 50000,200) a where b.id = a .tid;