Java高频面试题日更挑战「Day6」—MySQL篇(二)

问题导读

一、索引有哪些优缺点?

二、索引有哪几种类型?

三、MySQL 中有哪几种锁?

01 | 索引有哪些优缺点?

索引的优点

可以大大加快数据的检索速度,这也是创建索引的最主要的原因。

通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能

索引的缺点

时间方面:创建索引和维护索引要耗费时间,具体地,当对表中的数据进行增加、删除和 修改的时候,索引也要动态的维护,会降低增/改/删的执行效率;

空间方面:索引需要占物理空间。

02 | 索引有哪几种类型?

主键索引: 数据列不允许重复,不允许为 NULL,一个表只能有一个主键。

唯一索引: 数据列不允许重复,允许为 NULL 值,一个表允许多个列创建唯一索引。

  • 可以通过 ALTER TABLE table_name ADD UNIQUE (column); 创建唯一索引。
  • 可以通过 ALTER TABLE table_name ADD UNIQUE (column1,column2); 创建唯 一组合索引。

普通索引: 基本的索引类型,没有唯一性的限制,允许为 NULL 值。

  • 可以通过 ALTER TABLE table_name ADD INDEX index_name (column);创建普 通索引
  • 可以通过 ALTER TABLE table_name ADD INDEX index_name(column1, column2, column3);创建组合索引。

全文索引:是目前搜索引擎使用的一种关键技术。

  • 可以通过 ALTER TABLE table_name ADD FULLTEXT (column);创建全文索引。

03 | MySQL 中有哪几种锁?

表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度 最低。

行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度 也最高。

页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之 间,并发度一般。

- End -

学习之路贵在坚持,扫码关注我!

浩说编程陪你每天三道高频面试题,日积月累一定会有所收获!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容