postgresql表分割槽

2021-07-03 06:08:29 字數 489 閱讀 5710

pg的表分割槽實際就是所說的分表,pg的表分割槽的是採用繼承表的方式。

表繼承所有父表的檢查與約束都會被子表繼承,主外來鍵關係不會。乙個子表可以繼承多個父表,修改父表的表結構時,大多數情況下也會修改子表的結構定義。

分割槽表就是把邏輯上的乙個大表分割成物理上的幾個小塊。

好處:1、delete資料更快,只需要delete乙個子表即可,pg在刪除大資料時候會很慢,容易導致vacuum超載(pg修改或者刪除並不是直接修改或者刪除,而是新增vacuum存在老資料,直到沒有其他連線使用時候autovacuum才會真正刪除資料)

2、建子表後,可以單獨建立各自的索引,使用較高的快取

3、很少用到的歷史資料可以使用表空間技術移動到便宜的儲存介質上。使用分割槽表可以將不同的分割槽安裝在不同的介質上。

多大的資料應該分割槽,有乙個基本簡單的原則,即表的大小超過了資料庫伺服器的記憶體。使用分割槽表時候,資料都儲存在子表中,父表為空。

路由資料可以使用觸發器或者規則。大部分情況下都是用觸發器

Postgresql之分割槽表

參考 建立步驟 注意 以下針對10.0版本之前的用法,新版本見 1 建立主表。不用為該錶定義任何檢查限制,除非需要將該限制應用到所有的分割槽表中。同樣也無需為該錶建立任何索引和唯一限制。create table almart date key date,hour key smallint,clien...

postgresql中的分割槽表

在早期的版本中pg中的分割槽表都是通過繼承的方式建立的,通過繼承的方式來建立分割槽表的這種方式用起來不是很方便。mydb create table parent id int primary key,name varchar 100 create table mydb create index id...

postgreSQL表分割槽使用方法

分割槽的意思是把邏輯上的乙個大表分割成物理上的幾塊。分割槽可以提供若干好處 1 提高查詢效能。原因如下 通過建立分割槽,索引所佔的空間減少,因此可以將高使用率的索引放入記憶體中,減少因磁碟讀寫索引造成的開銷 可以將表中訪問率較高的行存放到單獨分割槽或少數幾個分割槽上,極大提公升查詢效能 通過建立分割...