首页 > 试题广场 >

关于索引下面哪些描述是正确的:( &nb...

[不定项选择题]
关于索引下面哪些描述是正确的:(    )
  • 索引是为了提高查询效率的,通过建立索引查询效率会得到提高
  • 索引对数据插入的效率有一定的影响
  • 唯一索引是一种特殊的索引,表中的行的物理顺序与索引顺序一致,且不允许两行数据在索引列上有相同的值
  • 每个表都必须具有一个主键索引
  • 对于数据重复度高,值范围有限的列如果建索引建议使用位图索引
  • 可以在多个列上建立联合索引

A选项 并不是建立了索引就会提高索引查找速度

B选项  唯一索引的列的物理顺序 并不和索引顺序一致,只有聚集索引列的物理顺序和逻辑顺 序 一致,一个表也只能有一个聚集索引

D选项
个人认为是对的,对于MySQL而言,当创建一个主键是默认创建一个主键索引,如果在创建表时没有显式地定义主键,则InnoDB存储引擎会按如下方式选择或创建主键:

1 首先判断表中是否有非空的唯一索引,如果有,则该列即为主键.

2 如果不符合上述条件,InnoDB存储引擎自动创建一个6字节大小的指针.
所以每个表必有一个主键索引,若有不当之处,欢迎指正。
编辑于 2019-10-24 18:58:17 回复(5)
答案:BEF
A:错误,不一定提高;比如在索引失效的情况下,查询效率并不会提高。
B:正确,插入新数据,对应的索引数据结构也需要添加存储新数据的索引,影响效率。
C:错误,聚簇索引的数据的物理存放顺序与索引顺序是一致的,非聚簇索引不一致。索引列的值必须唯一,允许有空值。如果是联合索引,则列值组合必须唯一。主键索引是一种特殊的唯一索引,在 Innodb 下主键索引是聚簇索引,在 MyISAM 下主键索引是非聚簇索引。
D:错误,简而言之MyISAM允许没有主键或索引的表存在InnoDB存储引擎下的表必然有主键及主键索引
E:正确,位图索引:适用于字段值固定且少的情况。(与其一类的是B数索引、散列索引等)。
F:正确,联合索引:顾名思义,就是将单列索引进行组合。
发表于 2022-02-10 09:38:57 回复(0)
这里我只想表达一下我对A选项的看法
索引是为了提高查询效率的,通过建立索引查询效率会得到提高
索引确实是为了提高查询效率的,虽然后面的话感觉不太严谨,但是也没有说  一定会提高,所以我觉得这种选项太绕了,你可以说他对,也可以说他不对,争议性太大,不好
发表于 2021-11-17 10:49:14 回复(0)
唯一索引只是不允许两行数据在索引列上有相同值,没有要求行的物理顺序与索引顺序一致。
对于唯一索引来说,由于索引定义了唯一性,查找到第一个满足条件的记录后,就会停止继续检索,但普通索引会继续查找其他满足条件的记录。
编辑于 2020-02-19 16:56:10 回复(1)
C选项,表中的行的物理顺序与索引顺序一致,没有这种说法。
发表于 2021-05-02 16:08:32 回复(0)
D答案有歧义,以MySQLinnodb为例,他确实可以不显式指定主键,但是MySQL会自己隐式生成一个6字节的主键,虽然不可见,但是它也是主键啊。 innodb引擎表一定有主键,或主动指定,或自动生成。 D答案改成:一定要显式定义主键比较好,就没歧义了。
发表于 2021-11-11 13:11:49 回复(0)
A:建立索引效率未必一定得到提高 ×
B:建立索引之后,增删改数据时需要维护索引 降低效率 √
C:唯一索引并不要求行的物理顺序与索引顺序一致
E:位图索引适合只有几个固定值的列,如性别、婚姻状况、行政区等等,而身份证号这种类型不适合用位图索引
发表于 2022-10-13 22:18:06 回复(0)
唯一索引只是要求不能有相同的两列该索引字段相等,并没有要求物理顺序和索引顺序一致
发表于 2022-09-06 21:58:11 回复(0)