お世話になります。
PostgreSQLにて、大量データ(40万件ぐらい)のテーブルに、下記処理を行ったところ、処理速度が異様に低下してしまいました。
・10行くらいのカラムを追加
・デフォルト値制約を設定
・追加したカラムにデフォルト値をアップデート
一応、VACUUM ANALYZEは、かけてはいたのですが、処理速度は向上せずに、VACUUM FULLにて対応したところ、速度は元に戻りました。
ですが、カラム追加をする毎にVACUUM FULLをかけるには、ちょっと時間がかかり過ぎで、他に良い方法が無いか悩んでおります。
何か、良い方法はありませんでしょうか?
宜しくお願い致します。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
PostgreSQLのバージョンは何ですか?
>・10行くらいのカラムを追加
10行とは?
10カラムを追加ですか?
データ件数は何件あるのですか?
>・追加したカラムにデフォルト値をアップデート
格納済の全行に対し、ディフォルト値でupdateしているのですか?
そんなことすれば、物理的な格納位置が乱れて検索などが遅くなって当然だと思います。格納済の行の場合、追加した列はnullで受け取ることに問題があるのでしょうか?
この回答への補足
ご回答ありがとうございます。
PostgreSQLのバージョンは8.2.1です。
>10行とは?
>10カラムを追加ですか?
はい。
10カラムを追加と言う意味です。
言葉足らずにすみません。
>格納済の全行に対し、ディフォルト値でupdateしているのですか?
>格納済の行の場合、追加した列はnullで受け取ることに問題があるのでしょうか?
はい。
やはり、nullが入ってきた場合の処理を入れなくてはならないので、デフォルト値は入れておきたいです。
>物理的な格納位置が乱れて検索などが遅くなって当然だと思います。
物理的な位置というのは、VACUUM ANALYZE などでは変わらないということでしょうか。
そういった場合は、VACUUM FULLを行うしか、対応策は無いということでしょうか?
他に対応策があれば、ご教授願えませんでしょうか。
宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- 中途・キャリア 契約社員で在職中ですが、正社員目指して転職活動中です。 20代半ばの男です。 2社から内定を頂きまし 5 2022/04/29 13:39
- その他(IT・Webサービス) 高速処理可能な表計算ソフトについて ExcelやGoogleスプレッドシートのような表計算ソフトで、 2 2023/04/29 16:06
- Visual Basic(VBA) エクセルVBA コードが同じでもファイルによって処理速度が大きく変わるのはなぜ 5 2022/11/06 21:34
- 物理学 物理(車関係)について教えて下さい。 2 2022/08/12 16:43
- 会社・職場 どこの職場で働いても、以下タイプの管理者に目をつけられてしまいます。 仕事ができて、 気が強くて、 5 2022/08/21 19:18
- デスクトップパソコン 仕事で使うPC 10 2023/04/23 00:27
- 物理学 物理の証明問題についての質問です。 平面内を運動する小球がある。この物体にかかる加速度の方向と大きさ 2 2023/05/16 00:28
- 高校 円運動の質問 4 2022/05/02 04:53
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
列が存在しないと言われる
-
0の除算
-
PostgreSQLで表結合+DELETEしたい
-
DBから日付順に指定件数の削除...
-
constraint と index の違い
-
動的に生成したカラムを使ったF...
-
INSERTできるレコード数を制限...
-
RDB経験者向けのAccess参考書
-
COPY時のtimestamp型について
-
複数キーワードでのあいまい検索
-
DB2でUNIQUE制約を削除したい
-
Excel 2019 のピボットテーブル...
-
エクセルVBAで5行目からオート...
-
Accessでコードを入れると名前...
-
Accessでテーブル名やクエリ名...
-
Accessでテーブルの値をテキス...
-
変数が選択リストにありません
-
Access テキスト型に対する指定...
-
「直需」の意味を教えてください
-
異なるサーバのDBデータ同士を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
列が存在しないと言われる
-
0の除算
-
constraint と index の違い
-
INSERTできるレコード数を制限...
-
長いSQL文を実行するには?
-
PostgreSQLで表結合+DELETEしたい
-
alter tableすると、処理が止ま...
-
COPY時のtimestamp型について
-
DBから日付順に指定件数の削除...
-
動的に生成したカラムを使ったF...
-
SQLで特定データがNULLなら別デ...
-
複数キーワードでのあいまい検索
-
■一番最初に値が入っている(Nul...
-
postgreSQLの日付を変数にする...
-
PostgreSQLで、元テーブルをコ...
-
SQLite:項目が存在しない場合の...
-
INSERTできない
-
powergres(postgres)にalter文...
-
SQL における変数の宣言と代入...
-
大量データを更新したら、処理...
おすすめ情報