2012年4月12日木曜日

Postgresql:テーブルパーティショニング

Windowsの共有ディレクトリをSLでマウントして、そこにPostgreSQLのデータ領域を移動してみたけど
検索速度は向上せず。。。。(涙)


次に紹介してもらったパーティショニングを試そうかと思ったけど、まずどんなものか人のところを覗きに行ってみるみる。


①親テーブルを作る。

②子テーブルを作る。この時、任意のカラム単位でテーブル作成するようにクリエイト文につけたす。

③子テーブルにINDEXを貼る。

④元テーブルから親テーブルへデータをINSERTする。

ユーザーは子テーブルを気にせずに親テーブルに対して検索することが出来るらしい。

試してみよう。

SELECT * FROM 親テーブル名 LIMIT 1000;
うーーーん、まずまずな速度。

SELCT * FROM 親テーブル WHERE カラム名 = 'XXX';
凄く早い!!!

でも。。。。
SELECT * FROM 親テーブル名;
返って来ない。。。。

SELCT * FROM 親テーブル WHERE (カラム名 = 'XXX' OR カラム名 = 'XXX' OR カラム名 = 'XXX');
またまた返って来ない。。。

ターゲットをかなり絞りこんで検索するには良い手法だけど、私がやりたいこととはちょっと違う気がする。

一つワークテーブルを作ってQGISから検索かける時は、そこを見て貰うようにする方法が良いかなぁ。
必要のないデータを削除してしまって『見せるだけテーブル』

それなら必要情報だけをビューにしておけばいいのかなぁ。。。

0 件のコメント:

コメントを投稿