【MySQL】20个经典面试题

【MySQL】20个经典面试题,第1张

原文链接: http://bbs.51cto.com/thread-1470880-1.html

基本原理流程,3个线程以及之间的关联;

(1)、varchar与char的区别

(2)、varchar(50)中50的涵义

(3)、int(20)中20的涵义

(4)、mysql为什么这么设计

2>.InnoDB支持行级锁,而MyISAM支持表级锁

3>.InnoDB支持MVCC, 而MyISAM不支持

4>.InnoDB支持外键,而MyISAM不支持

5>.InnoDB不支持全文索引,而MyISAM支持。

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

插入缓冲(insert buffer),二次写(double write),自适应哈希索引(ahi),预读(read ahead)

(3)、2者selectcount(*)哪个更快,为什么 myisam更快,因为myisam内部维护了一个计数器,可以直接调取。

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

(2)、写出您这样选择的理由。

开放性问题:据说是腾讯的

1、mysql记录存储:mysql的数据是怎么组织的

2、页内记录的维护(顺序保证/插入策略/页内查询)

3、MySQL内存管理(页面管理、页面淘汰、LRU):全表扫描对内存有什么影响? 如何避免热数据被淘汰? 没有空闲页怎么办?

4、InnoDB 加锁的过程是如何实现的?常见锁问题有那些?

5、MVCC是什么?如何实现多版本控制?如何解决写冲突?

6、回滚日志Undo log如何实现多版本控制与保证事务的原子性?

7、undo log如何清理,为何InnoDB select count(*)  这么慢?

8、重做日志Redo log如何实现事务持久性?

9、InnoDB行级锁、间隙锁、表级锁如何实现的?

10、InnoDB加锁过程如何实现的?

11、海量数据下 主键如何设计?

12、聚集索引、二级索引与联合索引具备哪些特点?

13、在进行索引优化时应该注意哪些问题/

14、MySQL如何进行库表的优雅设计?

15、如何实现数据备份之延时库部署

16、MySQL如何高效实现数据冗余部署

17、MySQL高可用方案有哪些

有 3 个表 S(学生表),C(课程表),SC(学生选课表)

S(SNO,SNAME)代表(学号,姓名)

C(CNO,CNAME,CTEACHER)代表(课号,课名,教师)

SC(SNO,CNO,SCGRADE)代表(学号,课号,成绩)

问题:

1,找出没选过“黎明”老师的所有学生姓名。

2,列出 2 门以上(含2 门)不及格学生姓名及平均成绩。

3,即学过 1 号课程又学过 2 号课所有学生的姓名。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/6132239.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-15
下一篇 2023-03-15

发表评论

登录后才能评论

评论列表(0条)

保存