2021-02-01-Mysql(数据库面试题摘要)

来源于网络

1.分别说一下范式和反范式的优缺点

1.范式
减少数据冗余
表中重复数据较少,更新操作比较快
范式化的表通常比反范式化的表小

在查询的时候通常需要很多的关联,降低性能
增加了索引优化的难度

2.反范式
可以减少表的关联
更好的进行索引优化

数据重复冗余
对数据表的修改需要更多的成本

2.B+ 树和 B 树的区别

https://www.jianshu.com/p/ace3cd6526c4

3.聚簇索引和非聚簇索引

  1. 聚簇索引,又叫主键索引,每个表只有一个主键索引,叶子节点保存主键的值和数据
  2. 非聚簇索引,又叫辅助索引,叶子节点保存索引字段的值和主键的值

4.Mysql 什么情况会造成脏读、不可重复读、幻读?如何解决

  1. 脏读:有两个事务A和B,A读取已经被B修改但未提交的字段,此时B回滚,那么A读取的字段就是临时且无效的。可以提高隔离级别,改成读已提交
  2. 不可重复读: 有两个事务A和B,A读取了一个字段值,然后B更新并且提交事务,A再重新读取这个字段,就和之前不相等了。可以提高隔离级别,改成可重复读
  3. 幻读: 有两个事务A和B,A读取某个范围内的记录时,B又在该范围内插入了新的记录并提交,当事务A再次读取该范围的记录时,会产生幻行。可以升级隔离级别到串行化,或者使用 MVCC + next-key锁机制实现

5.Mysql 事务是如何实现的

原子性:通过undo log实现的。每条数据变更都伴随一条undo log日志的生成,当系统发生错误或执行回滚根据undo log做逆向操作
持久性:通过redo log实现的。redo log记录了数据的修改日志。数据持久化到磁盘,先是储存到缓冲池里,然后缓冲池中的数据定期同步到磁盘中,如果系统宕机,可能会丢失数据,系统重启后会读取redo log恢复数据
隔离性:mysql数据库通过MVCC + next-key机制实现了隔离性
一致性:以上3大特性,保障了事务的一致性

6.Innodb 和 MyISAM 的区别是什么

  1. Innodb 支持事务。MyISAM 不支持
  2. Innodb 支持外键。MyISAM 不支持
  3. Innodb 主键索引的叶子节点是数据文件,辅助索引的叶子节点是主键的值 MyISAM 的主键索引和辅助索引,叶子节点都是数据文件的指针
  4. Innodb 不保存表的行数,执行 select count(*) from tb需要全表扫描。MyISAM 用一个变量保存了整个表的行数,执行上述语句只需要读取该变量,速度很快
  5. Innodb 所有的表在磁盘上保存在一个文件中。MyISAM 存储成三个文件。
  6. Innodb 需要更多的内存和存储。MyISAM 可被压缩,存储空间较小。
  7. Innodb 移植方案拷贝文件、备份 binlog,或者用 mysqldump,移植较困难。MyISAM 数据以文件形式存储,在备份和回复时可以单独针对表进行操作
  8. Innodb 支持行锁、表锁。MyISAM 支持表锁
  9. Innodb 在5.7版本之前不支持全文索引。MyISAM 支持全文索引

7.Mysql 什么情况会造成慢查,如何查看慢查询

  1. 没有设置索引,或查询没有用到索引
  2. I/O吞吐量过小
  3. 内存不足
  4. 网络速度慢
  5. 查询的数据量过大
  6. 锁或者死锁
  7. 返回了不必要的行或列
  8. 查询语句存在问题,需要优化
  9. 慢查询日志默认是关闭的,如果非必要,不要开启,会影响性能。

使用SHOW VARIABLES LIKE 'slow_query%';
slow_query_log,慢查询开启关闭状态
slow_query_log_file,慢查询日志存储位置,用文本编辑器打开存储位置的文件,查询慢查询

8.如何处理慢查询,你一般是怎么处理慢查询的

  1. 把数据、日志、索引放到不同的I/O设备上,增加读取速度
  2. 纵向、横向分割表,减少表的尺寸
  3. 升级硬件
  4. 根据查询条件,建立索引,索引优化
  5. 提高网速
  6. 扩大服务器内存
  7. 分库分表
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容