问题导读
一、索引有哪些优缺点?
二、索引有哪几种类型?
三、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 -