美文网首页mysql
聚集索引与非聚集索引

聚集索引与非聚集索引

作者: HachiLin | 来源:发表于2022-05-02 15:02 被阅读0次

    1. 简介

    数据库表主键 就是聚集索引,通过聚集索引,可以得到表的一整行数据;非聚集索引,是指数据库表的普通索引,通过非聚集索引,得到的不是一整行数据,但是一定会得到主键,查询行中其他数据需要再次通过主键查询,这个过程就叫做回表

    聚集索引和非聚集索引.jpg

    2. 使用

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

    3. 参考文章

    相关文章

      网友评论

        本文标题:聚集索引与非聚集索引

        本文链接:https://www.haomeiwen.com/subject/tufvyrtx.html