PostgreSQL 使用citd删除重复行
生活随笔
收集整理的這篇文章主要介紹了
PostgreSQL 使用citd删除重复行
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1. ctid的簡單介紹:
ctid是PostgreSQL表中的系統(tǒng)字段,表示數(shù)據(jù)行在它所在表內(nèi)的物理位置。ctid的字段類型是oid。但是VACUUM FULL操作之后,經(jīng)過回收數(shù)據(jù)塊內(nèi)的空閑空間,數(shù)據(jù)行在塊內(nèi)的物理位置會發(fā)生移動,即ctid會發(fā)生變化。
2. 使用ctid刪除重復(fù)行
數(shù)據(jù)
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- 簡單方式
- 稍復(fù)雜的方式
第一種方法在表tb20記錄比較多的情況下,效率比較差,第二種方法更高效。
總結(jié)
以上是生活随笔為你收集整理的PostgreSQL 使用citd删除重复行的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ffmpeg- 部分错误码-av_int
- 下一篇: 中国PostgreSQL培训认证推出“浪