首頁 資料庫 mysql教程 【原创】POSTGRESQL 分区表初次体验

【原创】POSTGRESQL 分区表初次体验

Jun 07, 2016 pm 05:37 PM
postgresql 分割區 觸發器

POSTGRESQL的分区和MYSQL不同,MYSQL是有专门的分区表,而POSTGRESQL的分区则利用它本身的面向对象的特性来做。下面我们来简单的体验下。我们先创建一张父表。记

POSTGRESQL的分区和MYSQL不同,MYSQL是有专门的分区表, 而POSTGRESQL的分区则利用它本身的面向对象的特性来做。 下面我们来简单的体验下。


我们先创建一张父表。 记住,所有的分区表都得继承他。

t_girl=# create table num_master (id int not null primary key); CREATE TABLE

接下来我们创建一个简单的函数来动态创建分区表。

t_girl=# create or replace function create_partition_table () returns void as $$ t_girl$# declare i int; t_girl$# declare cnt int; t_girl$# declare stmt text; t_girl$# begin t_girl$# -- Created by ytt at 2013/12/15. Dynamic creating partition tables. t_girl$# i:= 0; t_girl$# cnt:=4; t_girl$# > while i ='||i*100||' and id OK。 现在可以执行了。t_girl=# select create_partition_table(); create_partition_table ------------------------ (1 row)

列出所有的表

t_girl=# \d List of relations Schema | Name | Type | Owner --------+------------+-------+---------- ytt | num_master | table | postgres ytt | num_slave1 | table | postgres ytt | num_slave2 | table | postgres ytt | num_slave3 | table | postgres ytt | num_slave4 | table | postgres ytt | t1 | table | t_girl (6 rows)


我们针对父表建立一个触发器函数体,对应其分区表的数据分布。

t_girl=# create or replace function num_insert_trigger() t_girl-# returns trigger as $$ t_girl$# begin t_girl$# -- Created by ytt at 2013/12/15. Do how to distribute data. t_girl$# if (new.id >=0 and new.id =100 and new.id =200 and new.id =300 and new.id

我们看看已经建好的触发器:

t_girl=# \d+ num_master Table "ytt.num_master" Column | Type | Modifiers | Storage | Stats target | Description --------+---------+-----------+---------+--------------+------------- id | integer | not null | plain | | Indexes: "num_master_pkey" PRIMARY KEY, btree (id) Triggers: insert_num_slave_trigger BEFORE INSERT ON num_master FOR EACH ROW EXECUTE PROCEDURE ytt.num_insert_trigger() Child tables: num_slave1, num_slave2, num_slave3, num_slave4 Has OIDs: no



我们现在生成简单的测试数据。

t_girl=# select func_create_sample_data(); func_create_sample_data ------------------------- (1 row)

上面的函数生成了大概400行的数据。



为了查看优化器是如何处理查询的,我们来看看简单的查询

t_girl=# explain select * from num_master where id > 30 and id Seq Scan on num_master (cost=0.00..0.00 rows=1 width=4) Filter: ((id > 30) AND (id Seq Scan on num_slave1 (cost=0.00..2.50 rows=70 width=4) Filter: ((id > 30) AND (id Seq Scan on num_slave2 (cost=0.00..2.50 rows=20 width=4) Filter: ((id > 30) AND (id



我也是今天刚刚接触到POSTGRESQL的分区表,有问题,还希望提出。



本文出自 “上帝,咱们不见不散!” 博客,请务必保留此出处

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1663
14
CakePHP 教程
1420
52
Laravel 教程
1313
25
PHP教程
1266
29
C# 教程
1237
24
解決win11系統保留分區無法更新的問題 解決win11系統保留分區無法更新的問題 Dec 26, 2023 pm 12:41 PM

在更新了win11後有些用戶遇到了無法更新系統保留的分區,導致沒法使用下載更多的新軟體,所以今天就給你們帶來了win11無法更新系統保留的分區解決方法,趕快來一起下載試試吧。 win11無法更新系統保留的分區怎麼辦:1、先右鍵下方的開始選單按鍵。 2、然後右鍵點選選單點擊運行。 3.在運行中輸入:diskmgmt.msc回車。 4.之後可以進入系統磁碟,查看EFI系通分割區,查看空間是否小於300M。 5.如果太小可以下載工具將系統預留分割區改成大於300MB建議450M即可。

【Linux系統】fdisk相關分區指令。 【Linux系統】fdisk相關分區指令。 Feb 19, 2024 pm 06:00 PM

fdisk是常用的Linux命令列工具,用於建立、管理和修改磁碟分割區。以下是一些常用的fdisk指令:顯示磁碟分割資訊:fdisk-l此指令將顯示系統中所有磁碟的分割區資訊。選擇要操作的磁碟:fdisk/dev/sdX將/dev/sdX替換為要操作的實際磁碟裝置名稱,如/dev/sda。建立新分割區:n這將引導您建立一個新的分割區。依照指示輸入分割區類型、起始磁區、大小等資訊。刪除分割區:d這將引導您選擇要刪除的分割區。依照提示選擇要刪除的分割區編號。修改分割區類型:t這將引導您選擇要修改類型的分割區。按照提

詳解Linux Opt分區的設定方法 詳解Linux Opt分區的設定方法 Mar 20, 2024 am 11:30 AM

LinuxOpt分區的設定方法及程式碼範例在Linux系統中,Opt分割區通常用於儲存可選軟體包和應用程式資料。合理設定Opt分割區可以有效管理系統資源,避免磁碟空間不足等問題。本文將詳細介紹如何設定LinuxOpt分區,並提供具體的程式碼範例。 1.確定分割空間大小首先,我們要確定Opt分割區所需的空間大小。一般建議將Opt分區的大小設定為系統總空間的5%-1

win10安裝後無法分割的解決方法 win10安裝後無法分割的解決方法 Jan 02, 2024 am 09:17 AM

我們再重裝win10作業系統的時候,到了磁碟分割的步驟卻發現出現系統提示無法建立新的分割區也找不到現有分割區。對於這種情況小編覺得可以嘗試將整個硬碟重新進行格式化再次安裝系統進行分割區,或透過軟體重新進行系統安裝等等。具體內容就來看看小編是怎麼做的吧~希望可以幫助到你。安裝win10無法建立新的分割區怎麼辦方法一:格式化整個硬碟重新分割區或嘗試插拔U盤幾次並刷新,如果你的硬碟上沒有重要資料的話,到了分割區這一步時,將硬碟上的所有分割區都刪除了。重新格式化整個硬碟,然後重新分割區,再進行安裝就正常了。方法二:P

深度Linux硬碟分割區及安裝教學:一步步實現系統的高效部署 深度Linux硬碟分割區及安裝教學:一步步實現系統的高效部署 Feb 10, 2024 pm 07:06 PM

在進行深度Linux的安裝之前,我們需要對硬碟進行分區,硬碟分區是將一塊實體硬碟劃分為多個邏輯區域的過程,每個區域可以獨立使用和管理,正確的分區方式可以提高系統的效能和穩定性,因此這一步非常重要,本文將為您提供詳細的深度Linux硬碟分割區及安裝教學。準備工作1.確保您已經備份了重要的數據,因為分割過程會清除硬碟上的所有資料。 2.準備一個深度Linux的安裝媒介,例如USB或光碟。硬碟分區1.開機進入BIOS設置,將啟動媒介設定為首選啟動設備。 2.重啟計算機,從啟動媒介引導進入系統安裝介面。 3.選擇

MySQL和PostgreSQL:在Web開發中的最佳實踐 MySQL和PostgreSQL:在Web開發中的最佳實踐 Jul 14, 2023 pm 02:34 PM

MySQL和PostgreSQL:在Web開發中的最佳實務引言:在現代的Web開發領域中,資料庫是不可或缺的組成部分。在選擇資料庫時,常見的選擇是MySQL和PostgreSQL。本文將介紹在Web開發中使用MySQL和PostgreSQL的最佳實踐,並提供一些程式碼範例。一、適用場景MySQL適用於大多數Web應用程序,特別是那些需要高性能、可擴展性和易於使

如何在Windows 11中增加WinRE分割區大小 如何在Windows 11中增加WinRE分割區大小 Feb 19, 2024 pm 06:06 PM

在這篇文章中,我們將向您展示如何在Windows11/10中變更或增加WinRE分割區大小。微軟現在將在每月累積更新的同時更新Windows復原環境(WinRE),開始於Windows11版本22H2。然而,並非所有電腦都有足夠大的恢復分區以容納新的更新,這可能導致錯誤訊息出現。 Windows復原環境服務失敗如何在Windows11中增加WinRE分割區大小要在您的電腦上手動增加WinRE分割區大小,請執行下面提到的步驟。檢查並停用WinRE縮小作業系統分區建立新的復原分區確認分區並啟用WinRE

win10分區整理的整數計算解決方法 win10分區整理的整數計算解決方法 Dec 30, 2023 pm 07:41 PM

在Windows分區時如果簡單地按照1GB=1024MB的方式輸入計算出來的值的話,最終總是只能得到類似259.5GB/59.99GB/60.01GB這樣結果,而不是整數,那麼win10分區整數是如何計算的呢?下面跟小編一起來看看吧。 win10分區整數計算的公式:1、公式為:(X-1)×4+1024×X=Y。 2.想要得到Windows的整數分割區必須知道一個公式,透過這個公式算出的值才能被Windows認成整數GB的值。 3.其中,X就是想要得到的整數分區的數值,單位是GB,Y是分割時應該輸入的數

See all articles