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;