Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

索引——GIN/GIST

GIN

  • 全称倒排索引(Generalized Inverted Index)

  • 存储结构: 键值对

    • 键: key
      • 搜索的关键词
    • 值: posting list
      • 一个链表,存储了所有出现过的物理位置
  • 优点

    • 用于全文搜索,特别快
    • 一般用于jsonb格式的数据列
  • 缺点

    • 基表增加一行,索引可能要增加多个索引项,插入低效
      • 为了解决这个问题,pg提供了两种插入模式:
        • 正常模式:
          • 立刻插入
        • fastupdate模式:
          • 等待一定量后批量插入
          • 默认开启,可以在创建索引时,通过 WITH FASTUPDATE = OFF 来关闭
  • 构建方式

    • 参考2.5节json与jsonb的区别+索引

GiST索引

类似于GIN,但插入更高效,适用于频繁更新的场景(代价是查询比GIN更慢)