面试必备:MySQL与Redis,不看答案能答对几道?

本文详细介绍了MySQL与Redis的基础知识、高频面试题目及其解析,包括MySQL的事务特性、存储引擎对比,Redis的使用场景、数据结构及持久化机制等。通过阅读,读者可以对这两个数据库系统有深入理解并为面试做好准备。
摘要由CSDN通过智能技术生成

01 先来看看MySQL(20)


1.1 什么是MySQL?怎么学习?

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

很多朋友不知道怎么一步一步的学习MySQL,下面就先给大家看看MySQL的一个学习路线大纲图:

MySQL学习路线大纲图.png


1.2 MySQL(20)高频必备题目与答案解析(先不要看答案哟~)

  • (1)事务四大特性(ACID)原子性、一致性、隔离性、持久性?

答案解析:
原子性(Atomicity)
· 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。
一致性(Consistency)
· 事务开始前和结束后,数据库的完整性约束没有被破坏。比如A向B转账,不可能A扣了钱,B却没收到
隔离性(Isolation)
· 隔离性是当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离
同一时间,只允许一个事务请求同一数据,不同的事务之间彼此没有任何干扰。比如A正在从一张银行卡中取钱,在A取钱的过程结束前,B不能向这张卡转账。
关于事务的隔离性数据库提供了多种隔离级别,稍后会介绍到。 持久性(Durability)
持久性是指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的,即便是在数据库系统遇到故障的情况下也不会丢失提交事务的操作

  • (2)事务的并发?事务隔离级别,每个级别会引发什么问题,MySQL默认是哪个级别?
  • (3)MySQL常见的三种存储引擎(InnoDB、MyISAM、MEMORY)的区别?

答案解析:
3.1 MySQL存储引擎MyISAM与InnoDB如何选择
MySQL有多种存储引擎,每种存储引擎有各自的优缺点,可以择优选择使用:MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACKHOLE。
虽然MySQL里的存储引擎不只是MyISAM与InnoDB这两个,但常用的就是两个
两种存储引擎的大致区别表现在
· InnoDB支持事务,MyISAM不支持,这一点是非常之重要。事务是一种高级的处理方式,如在一些列增删改中只要哪个出错还可以回滚还原,而MyISAM就不可以了。
· MyISAM适合查询以及插入为主的应用
· InnoDB适合频繁修改以及涉及到安全性较高的应用
· InnoDB支持外键,MyISAM不支持。
· 从MySQL5.5.5以后,InnoDB是默认引擎
· InnoDB不支持FULLTEXT类型的索引。
· InnoDB中不保存表的行数,如select count() from table时,InnoDB需要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可。注意的是,当count()语句包含where条件时MyISAM也需要扫描整个表。
· 对于自增长的字段,InnoDB中必须包含只有该

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值