時(shí)間:2024-03-07 21:27作者:下載吧人氣:17
PostgreSQL有一項(xiàng)非常有用的功能,分區(qū)表,或者partitioning。當(dāng)某個(gè)TABLE的記錄非常的多,千萬甚至更多的時(shí)候,我們其實(shí)需要將他分割成子表。一個(gè)龐大的TABLE,就像水果倉庫雜亂無章地堆放著無數(shù)的蘋果桃子和桔子,查找不方便,性能降低,比較合理的做法是將倉庫分成三個(gè)子區(qū)域,分表放蘋果桃子和桔子。一張大表就變成了三個(gè)小表的集合。
通過合理的設(shè)計(jì),可以將選擇一定的規(guī)則,將大表切分多個(gè)不重不漏的子表,這就是傳說中的partitioning。比如,我們可以按時(shí)間切分,每天一張子表,比如我們可以按照某其他字段分割,總之了就是化整為零,提高查詢的效能。
怎么實(shí)現(xiàn)這個(gè)分區(qū)表的功能呢?
1 建立大表。
2 創(chuàng)建分區(qū)繼承
3 定義Rule或者Trigger?
下面根據(jù)一個(gè)簡單的例子,描述這個(gè)過程。我們將學(xué)生按照低于60分和不低于60分切分成兩張子表。
1 建立大表
CREATE TABLE student (student_id bigserial, name varchar(32), score smallint)
網(wǎng)友評論