java面试题-通俗易懂的解释mysql相关问题

在这里插入图片描述
一、MYSQL存储引擎MYISAM与InnoDB区别

1、MYISAM需要的存储空间小;InnoDB需要更多的内存和存储空间。

2、MYISAM不支持事务;InnoDB支持事务。

3、MYISAM在select查询更快,内部有计数器,可直接调取;InnoDB没有。

4、MYISAM支持表级锁定;InnoDB不仅支持表级锁定,而且支持行级锁定,所以也支持高并发。

二、什么是索引,为什么要建立索引

索引好比书中的目录,通过目录查找数据里面的具体内容,在数据表里面作为指针存在;

优点加快检索的速度,提高系统性能,缺点索引需要占用磁盘物理空间,对表进行维护,在表中进行添加、修改、删除操作时,索引需要动态的维护,所以会降低执行效率。

三、MYSQL索引有哪几种类型

主键索引:每个表只有一个主键索引,表示数据列不能重复。

唯一索引:数据列不允许有重复,但可以为NULL值。

普通索引:就是一般索引,没有任何限制。

全文索引:主要用来查找文本中关键字,相当于搜索引擎。

四、索引的原理,创建索引的原则

就是把无序的记录变成有序的查询结果。

原则:

1、经常更新的字段,不适合做索引

2、查询字段频繁的操作,适合建立索引

3、组合索引,按左查询匹配原则

4、有外键的列一定要建立索引

5、对于字段text、image内容涉及比较多的,不适合做索引

五、数据库事务的四大特性有哪些

1、原子性:事务执行的最小单位,代表执行要不全部完成,要不都没完成。

2、一致性:执行事务后,数据保持一致。

3、隔离性:数据在并发执行下,事务间的访问是独立存在的。

4、持久性:事务提交后,数据的改变是持久不变的,不因外界因素改变,比如断电、数据库发生故障等。

六、什么是脏读、幻读

脏读:某个事务已进行了更新,但读到的数据还是以前的数据。

幻读:某个事务执行查询操作后,出现前后查询不一致的数据。

七、什么是行级锁、表级锁、页级锁

行级锁:是锁粒级别最细的锁,但加锁的开销最大,针对表中的行进行加锁。

表级锁:是锁粒级别最大的锁,针对整张表进行加锁,实现简单,资源消耗少。

页级锁:是介于行级锁、表级锁之间的锁,用来锁定相邻的一组记录。

八、MySQL锁的类别有哪些

共享锁:又称读锁,对用户进行数据读操作时,同时加上共享锁。

排他锁:又称写锁,当用户对数据进行写操作,此时加上排他锁,不允许其它用户再次操作。

九、数据库产生死锁怎么解决

死锁是两个以上事务抢夺资源,并请求对方锁定资源,从而导致恶性循环,形成的死锁现象。

解决方式:

1、在同一事务中,尽量做到一次锁定所有需要资源,减少死锁概率。

2、提升锁的级别,由以前表级锁或页级锁,升级到行级锁。

3、业务比较多的,可以采用分布式事务锁或者乐观锁

十、什么是乐观锁和悲观锁

乐观锁:在并发条件下,通过在数据库设置version版本号方式进行数据锁定。

悲观锁:在并发条件下,使用数据库的锁机制,屏蔽可能违反数据的完整性操作。

举报/反馈
发表评论
发表神评妙论
发表
作者最新文章

圈子意义、弱势群体、人生归宿
2022-01-12
21阅读

怎么样才能感觉到真正爱上一个人
2022-01-10
68阅读

厌学和平庸的解决办法——鸵鸟思维和木桶理论
2022-01-08
115阅读
相关推荐

腾讯云数据库MySQL使用英特尔oneAPI实现显著性能提升 最高达85%
驱动之家

使用datax工具将MongoDB数据同步全量同步到mysql中
小小宝读书

如何申请开发一个微信小程序?需要哪些条件?
应用公园app开发公司

Java系统学习架构
程序员范某辛

springboot集成MongoDB,实现数据修改删除分页功能
小小宝读书
换一换
1
贵阳筛查到301例阳性感染者

2
泸定地震已致74人遇难 35人失联

3
中国经济迈上现代化新征程
4
00后老板中秋扣员工50%工资代尽孝
5
印度男婴被叼走 母亲掰开老虎嘴救子
6
女孩酒驾被查称刚亲了一个喝酒的人
7
美典当行老板遭死亡威胁
8
iPhone14已曝光信息汇总
9
四川泸定医疗专家:情况比想象严重

猜你喜欢

转载自blog.csdn.net/m0_54861649/article/details/126753671
今日推荐