PostgreSQLのメモ

| コメント(0) | トラックバック(0)

なんだかんだでPostgreSQLを一番よく使ってる。

・コスト表示
explain [SQL文]
SQL文のコストを表示してくれる。公式のドキュメント
相対的にSQL文を比較したいときに便利そう。他にもコマンドを実際に実行するANALYZEオプションとかあるそうな。

・insertしたデータのシーケンシャルなフィールドの値が知りたい。
例)Studentっていうテーブルがあって、フィールド値としてStudentID(integer:SERIAL),Name(text)を持つする。Studentテーブルにデータをinsertしたんだけど、そいつのStudentIDが知りたいなーというとき。
Insert Into Student(Name) Values('ほげほげ');(IDはシーケンサーが自動的に被らないように割り振ってくれる)とやった後に
Select currval('Student_StudentID_seq') As StudentID;とかやればok。PostgreSQLの場合、書式は[テーブル名_フィールド名_seq]となるらしい。

ちなみに単体でcurrvalは使えない。nextval()は単体で使えるので
Select nextval()してからinsertというのもあり。セキュリティを考えるとどちらがいいんだろう。
FAQ見る限り並列な扱いをしているが...。

トラックバック(0)

トラックバックURL: http://hoge.sub.jp/blog-cgi/mt/mt-tb.cgi/191

コメントする

このブログ記事について

このページは、Lyoが2006年1月29日 23:19に書いたブログ記事です。

ひとつ前のブログ記事は「TC:E,Objectiveモード」です。

次のブログ記事は「色々と」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

OpenID対応しています OpenIDについて
Powered by Movable Type 4.261