PostgreSQL 使用citd删除重复行
生活随笔
收集整理的這篇文章主要介紹了
PostgreSQL 使用citd删除重复行
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. ctid的簡單介紹:
ctid是PostgreSQL表中的系統字段,表示數據行在它所在表內的物理位置。ctid的字段類型是oid。但是VACUUM FULL操作之后,經過回收數據塊內的空閑空間,數據行在塊內的物理位置會發生移動,即ctid會發生變化。
2. 使用ctid刪除重復行
數據
postgres=# select ctid,* from tb20;ctid | id --------+----(0,1) | 1(0,2) | 1(0,3) | 1(0,4) | 1(0,5) | 2(0,6) | 2(0,7) | 2(0,8) | 3(0,9) | 3(0,10) | 4 (10 rows- 簡單方式
- 稍復雜的方式
第一種方法在表tb20記錄比較多的情況下,效率比較差,第二種方法更高效。
總結
以上是生活随笔為你收集整理的PostgreSQL 使用citd删除重复行的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ffmpeg- 部分错误码-av_int
- 下一篇: 计算机网络 day3 广播风暴 - VL