暂无图片
关于mysql唯一索引说法正确的是?
我来答
分享
好好学习
2023-07-26
关于mysql唯一索引说法正确的是?

下面关于mysql唯一索引说法正确的是? 

A 联合索引不能创建为唯一索引 

B 当插入一行新数据时,唯一索引不能使用change buffer优化 

C 当使用replace into插入数据时,如果碰到唯一索引冲突,会先删除这行冲突记录,然后再插入新的一行 

D 唯一索引查询比普通索引略快,是因为可以少扫描一些行

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
cdwas

正确的说法是:

C 当使用replace into插入数据时,如果碰到唯一索引冲突,会先删除这行冲突记录,然后再插入新的一行。

D 唯一索引查询比普通索引略快,是因为可以少扫描一些行。

这两个说法是正确的。

A 联合索引可以创建为唯一索引。唯一索引可以包含一个或多个字段,并且可以确保索引列的值在整个表中是唯一的。联合索引是指创建索引时同时包含多个列。

B 当插入一行新数据时,唯一索引是可以使用change buffer优化的。Change buffer是一种MySQL的内部机制,用于延迟辅助索引的更新操作。唯一索引的插入操作也可以受益于这种优化。

因此,正确的说法是C和D。

暂无图片 评论
暂无图片 有用 1
暂无图片
cdwas

正确的说法是:

D 唯一索引查询比普通索引略快,是因为可以少扫描一些行。

解释:唯一索引确保索引列中的值是唯一的,并且对于查询操作,MySQL可以利用唯一索引提供更高效的查询性能。唯一索引可以在查询过程中少扫描一些行,因为它可以快速定位到满足查询条件的唯一行。

关于其他选项的解释如下:

A 联合索引可以创建为唯一索引:联合索引是由多个列组合而成的索引,也可以设置为唯一索引。

B 当插入一行新数据时,唯一索引可以使用change buffer优化:change buffer 是一种优化技术,它将数据更改的操作暂时保存在内存中,然后批量应用到磁盘上的索引,以减少磁盘写入的次数,提高性能。唯一索引也可以使用 change buffer 来优化插入操作。

C 当使用 replace into 插入数据时,如果碰到唯一索引冲突,MySQL 会先删除冲突记录,然后再插入新的一行。这是错误的说法,replace into 是一种特殊的插入操作,当唯一索引冲突时,它会先删除冲突的行,然后插入新的一行。

暂无图片 评论
暂无图片 有用 0
好好学习
题主
2023-07-26
这个多选项
everything

bcd正确

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏