1. 简介
数据库表主键
就是聚集索引
,通过聚集索引,可以得到表的一整行数据;非聚集索引
,是指数据库表的普通索引
,通过非聚集索引,得到的不是一整行数据,但是一定会得到主键,查询行中其他数据需要再次通过主键查询,这个过程就叫做回表
。
2. 使用
(1)工作中,尽可能避免回表操作,否则会影响执行效率。常见的例子是,编辑接口
,查询接口展示数据后,用户编辑某条数据,应该指定前端传入数据id和允许编辑字段,通过数据id就可以拿到整条数据并完成编辑操作了。
(2)使用非聚集索引时,高频使用字段可以采用 联合索引
(覆盖索引
),常见的例子是,一件物品的编号和名称,一般编号是要求唯一的,而名称是可以重复的。可以新建一个联合索引index('no', 'name')
,通过编号,可以获取物品名称,但又避免了回表操作。
(3)实际开发中,联合索引并非能覆盖所有查询字段,也就是说回表在日常开发中是无法避免的,这时候要求可能在某张表中需要增加许多索引。除此之外,也需要在业务逻辑中花功夫,避免执行效率问题。
网友评论