跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • postgressql 的 returning 关键字实现逻辑是怎样?
未分類
14 1 月 2021

postgressql 的 returning 关键字实现逻辑是怎样?

postgressql 的 returning 关键字实现逻辑是怎样?

資深大佬 : leeraya 7

官网的 Synopsis:

[ WITH [ RECURSIVE ] with_query [, …] ] DELETE FROM [ ONLY ] table_name [ * ] [ [ AS ] alias ] [ USING from_item [, …] ] [ WHERE condition | WHERE CURRENT OF cursor_name ] [ RETURNING * | output_expression [ [ AS ] output_name ] [, …] ]

returning 子句可以返回删除数据结果集。 那么它的底层逻辑是怎么样实现的呢,主要是 delete rows 和 table reader 的过程先后不太能搞清楚。

大佬有話說 (1)

  • 資深大佬 : JimmyChange

    肯定是先读取磁盘数据到内存,而且 PostgreSQL 的 MVCC 默认是不会实时的删除数据的,只是更新数据记录 cmax 和 cmin 的值,可以理解为每个数据库事务都会有一个递增的 ID,删除的时候更新记录,表明这条数据在被第 N 个事务删除,所有 ID 大于 N 的事务都看不到了,真实的删除操作实在 Vacuum 过程中进行的。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具