数据库学习记录-索引

本文介绍了数据库索引的关键字选取原则,包括字段的离散度、存储空间占用、是否固定长度、在WHERE和JOIN子句中的使用频率,以及更新频率等。同时强调了最左前缀原则和前缀索引的使用,指出索引设计与SELECT语句的密切关系,并提及外键约束与索引的自动创建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为了提高数据的查询效率,需要在数据库中建立索引,则下列设计索引的原则描述正确的是()

正确答案: A B   你的答案: A C (错误)

在频繁进行排序或分组(即进行group by 或order by操作)的列上建立索引
考虑列中指的分布,列的基数越大,索引的效果越好
在select关键字后选择列表的列上,建立索引
在表中,索引越多越好



索引关键字的选取原则

1、  表的某个字段值得离散度越高,该字段越适合选作索引的关键字。主键字段以及唯一性约束字段适合选作索引的关键字,原因就是这些字段的值非常离散。尤其是在主键字段创建索引时,cardinality(基数,集的势)的值就等于该表的行数。MySQL在处理主键约束以及唯一性约束时,考虑周全。数据库用户创建主键约束的同时,MySQL自动创建主索引(primary index),且索引名称为Primary;数据库用户创建唯一性索引时,MySQL自动创建唯一性索引(unique index),默认情况下,索引名为唯一性索引的字段名。

2、  占用存储空间少的字段更适合选作索引的关键字。例如,与字符串相比,整数字段占用的存储空间较少,因此,较为适合选作索引关键字。

3、  存储空间固定的字段更适合选作索引的关键字。与text类型的字段相比,char类型的字段较为适合选作索引关键字。

4、  Where子句中经常使用的字段应该创建索引,分组字段或者排序字段应该创建索引,两个表的连接字段应该创建索引。

5、  更新频繁的字段不适合创建索引,不会出现在where子句中的字段不应该创建索引。

6、  最左前缀原则。

7、  尽量使用前缀索引。

引入索引的目的就是提高数据的检查效率,因此索引关键字的选择与select语句息息相关。这句话有两个含义:一是,select语句的设计可以决定索引的设计;索引的设计也同样影响着select语句的设计。例如原则1与原则2,可以影响select语句的设计;而select语句中的where子句、group by子句以及,又可以影响索引的设计。两个表的连接字段应该创建索引,外键约束一经创建,MySQL会自动地创建与外键相对应的索引,这是由于外键字段通常是两个表的连接字段。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值