首页 > 试题广场 >

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

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

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

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

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

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

2 如果不符合上述条件,InnoDB存储引擎自动创建一个6字节大小的指针.
所以每个表必有一个主键索引,若有不当之处,欢迎指正。

转载自 牛客网 风中沉思(同一道题在牛客网为什么讨论不一样。。。)
发表于 2020-03-27 13:33:58 回复(1)

A哪里有问题

发表于 2019-12-23 00:59:24 回复(3)

我强烈建议,退出吧,应试教育 这样的文字游戏,卡点啊,真的是烦啊 这种自多的

发表于 2021-10-08 15:19:04 回复(2)
C.表中的行的物理顺序与索引顺序一致

一样了还搞索引干啥
发表于 2020-10-30 16:52:16 回复(1)
1. 索引并不一定会提高查询效率
2. 索引会影响插入和删除的效率
3. 不一定必须要有唯一索引
4. 可以在多个列上建立联合索引
5. 对于数据重复度高,值范围有限的列如果建索引建议使用位图索引
发表于 2022-11-21 17:45:25 回复(0)
插入不是在表最后吗?建立索引怎么影响~
发表于 2020-03-29 11:31:37 回复(2)
每个表都必须具有一个主键索引, 是对的,1. 会自动把主键当作索引。2. 没有主键的话,默认把第一个唯一索引当作主键索引(我查询的是唯一索引在MySQL中是允许为空的,但是当作主键索引就不能为空吧?)3.都没有的话,数据库管理系统会自动的加上一个自增的row_id字段。
发表于 2023-09-22 22:43:33 回复(0)
A为什么不选
编辑于 2024-03-19 19:53:46 回复(0)

说具体情况具体分析是一句废话,你要明白索引是用来提高查找效率的,代价是降低插入效率。
所以如果有一张表,数据量很大,而且有频繁的插入操作,但查找操作较少,这种表你就可以考虑不添加索引,这样可以保证插入的效率,但代价是查找操作可能会变得非常慢。

主键除了具有索引的功能之外还具有保证唯一性的功能,你不能在一张表里添加有重复主键的多条记录,这是对数据完整性/一致性的一种保证,如果你需要这个功能,那么就需要主键,否则可以考虑不要。

发表于 2023-02-16 17:24:17 回复(0)
出题人什么思维,A选项抠字眼,不提高查询效率我建索引干嘛,建议改为""所有索引都可以都可以提高查询效率",这样就不扣字眼了
发表于 2022-11-15 13:32:16 回复(0)
D那里错了???
发表于 2022-10-05 10:00:56 回复(0)
Abf
发表于 2021-07-19 08:13:12 回复(0)
<p>简历索引会预排序,所以和原先的数据顺序不一样,所以C错了</p><p><br></p>
发表于 2020-12-08 13:23:51 回复(0)
c错在哪了?
发表于 2020-10-16 20:44:29 回复(1)
使用合适的索引才会提高效率
发表于 2020-08-26 23:15:13 回复(0)

<p>A 合适的索引才能提高效率

B 索引本身是一棵B+树,插入新纪录会影响索引树节点的分裂,所以会影响效率</p><p><br></p>

编辑于 2020-06-16 09:27:27 回复(0)