Java高频面试题- 每日三连问?【Day17】 — MySQL篇(三)

2022-04-12 14:08:31 浏览数 (1)

问题导读

一、索引有哪些优缺点?

二、索引有哪几种类型?

三、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 -

0 人点赞