ぱと隊長日誌

ブログ運用もエンジニアとしての生き方も模索中

PostgreSQL の式インデックスも統計情報の収集対象となる

PostgreSQL の式インデックス(関数インデックス)もテーブルと同様に統計情報の収集対象です。よって、式インデックス作成後に ANALYZE を実行しないと、正しく活用されません。また、pg_stats ビューは式インデックスの統計情報も参照できます。

OSS-DB Silver 合格までの道のり (2022/06/11)

OSS-DB Silver Ver.2.0 を受験し、無事に合格することができました。今回の挑戦に向けて、どのような準備を行ったかまとめます。

Excelのシリアル値の計算と活用法

Excelは日時をシリアル値で管理しています。本記事ではシリアル値の計算と活用法を解説します。

Hyper-V の仮想マシンで perf の "not supported" な項目を出力できるようにする

Hyper-V の仮想マシンで perf の一部項目を出力できませんでした。これを構成バージョンの見直しとパフォーマンス監視コンポーネントを有効にすることで解決できました。解決までの流れを説明します。

PostgreSQL のプリペアド文で汎用的な実行計画を選択するタイミング

PostgreSQL ではプリペアド文を繰り返し実行していると、汎用的な実行計画を作成することがあります。この実行計画の切り替えがいつ行われるのかを調べました。

DEIM2022 「近代的トランザクション処理技法」聴講メモ

DEIM2022 「近代的トランザクション処理技法」の聴講メモです。メモは口頭説明を中心にまとめています。資料を併せてご参照ください。

PostgreSQL の一時バッファはセッションを終了するまで解放されない

PostgreSQL の一時バッファの開放はセッション終了時となります。一時テーブルの削除タイミングやトランザクションの終了タイミングではありません。

PostgreSQL は統計情報の度数分布と実際の最小値・最大値との乖離を補正して行数推定することがある

PostgreSQL には統計情報の度数分布と実際の最小値・最大値が乖離した場合の影響を抑える機能があります。この機能によって実行計画の推定行数がどのように変化するかを検証しました。

PostgreSQL で指数表記の暗黙的キャストが意図しない型になることがある

PostgreSQL でも指数表記を解釈してくれます。ですが、指数表記の暗黙的キャストが意図した型になるとは限らないことに注意が必要です。

PostgreSQL のエクゼキュータによるノードの処理順

PostgreSQL のエクゼキュータによるノードの処理順はマニュアルに解説されています。この説明をかみ砕いて説明します。

PostgreSQL の auto_explain のパフォーマンスへの影響

PostgreSQL の auto_explain モジュールを有効化することでパフォーマンスにどの程度影響を与えるのか、検証を行いました。

PostgreSQL の EXPLAIN コマンドの TIMING パラメータのオーバーヘッド

本記事では PostgreSQL の EXPLAIN コマンドの TIMING パラメータのオーバーヘッドがどこから生じているかを解説します。

SELECT-INSERT で SELECT に ORDER BY を指定するとソートが実行される

リレーショナルモデルは集合を扱い、行の順序を意識しないはずです。なのになぜ SELECT-INSERT の SELECT で ORDER BY できるのか…という疑問と検証を書き留めています。

幼い子供の育児と自分の勉強時間確保の両立(3~5歳編)

育児と勉強時間確保の両立は悩ましい問題です。子供が3~5歳の時期をどうやって乗り切ったか、まとめました。

Oracle Cloud Infrastructure (OCI) 無償トレーニングのおすすめポイント

Oracle Cloud Infrastructure (OCI) 無償トレーニングのおすすめポイントを解説します。

JSTQB AL テストマネージャ 受験記録 (2021/08/21)

2021/08/21 の「JSTQB AL テストマネージャ試験」に向けて、どんな準備(勉強方法・資料)をしたのか、また受験した所感を記録としてまとめました。

PostgreSQL のオブジェクト識別子データ型(OID 別名型)と使い方

オブジェクト識別子データ型と使い方を中心に解説します。最後にその実装にも踏み込んで解説をします。

「真摯さ」とは何か

私は「真摯さ」を「自分の考えに信念(軸、芯)を持ち、それに従った行動をすること」と考えています。それは安易に「バランス」という言葉に逃げないということです。

PostgreSQL の TEMPORARY TABLE と UNLOGGED TABLE にパフォーマンスの差異はあるか?

PostgreSQL にはテーブルの種類として TEMPORARY と UNLOGGED があります。この2つはワークテーブルとしてしばしば使われます。シンプルな条件下では UNLOGGED より TEMPORARY のほうがパフォーマンスが良い結果となりました。

PostgreSQL の実行計画で Hash のコストは Hash Join に含まれる

PostgreSQL の実行計画で Hash ノードはコストが 0 として計算されていますが、ハッシュ処理のコストは Hash Join ノードに含まれています。

PostgreSQL のインデックス肥大化と実行計画のコストへの影響

PostgreSQL のインデックスが肥大化した状況では実行計画のコスト計算に影響することがあります。これは適切な実行計画を選択する妨げとなるかもしれません。

PostgreSQL のテーブル継承は概念データモデルのスーパータイプ/サブタイプを実装する手段では無い

PostgreSQL にはテーブルの継承という機能があります。 本記事ではテーブル継承を概念データモデルのスーパータイプ/サブタイプの実装に用いると、どのような問題が出るかを見ていきます。

SQL で ORDER BY をクエリの最後にしか記述できず、結果セット全体にしか適用できない理由

SQL で ORDER BY の指定はクエリの最後に記述する必要があります。また、ORDER BY は結果セット全体に対して行われます。 この理由を理論面(リレーショナルモデル)と設計面 (SQL) からみていきます。

JaSST'21 Tokyo 「アジャイル開発にQAはホントに要らないのか?」聴講メモ

JaSST'21 Tokyo B6)企画セッション「アジャイル開発にQAはホントに要らないのか?」の聴講メモです。

JaSST'21 Tokyo 招待講演「パターンQA2AQによるアジャイル品質のマインド、体制、プロセス、技術」聴講メモ

JaSST'21 Tokyo A9)招待講演「パターンQA2AQによるアジャイル品質のマインド、体制、プロセス、技術」の聴講メモです。Q&Aまとめがメインです。

JaSST'21 Tokyo 基調講演「Being Agile about Architecture」聴講メモ

JaSST'21 Tokyo A1)基調講演 「Being Agile about Architecture」 の聴講メモです。

JaSST'21 Tokyo 「JSTQB Advanced Level テストアナリストのシラバスでテストプロセスとテスト技法を学ぼう」聴講メモ

JaSST'21 Tokyo セッション F5 「JSTQB Advanced Level テストアナリストのシラバスでテストプロセスとテスト技法を学ぼう」の聴講メモです。

PostgreSQL 11 での DEFAULT 指定した列追加時の処理速度改善は NOT NULL 制約との組み合わせに限らない

PostgreSQL 11 での DEFAULT 指定した列追加時の処理速度改善は NOT NULL 制約との組み合わせに限らないことを解説します。また、列の追加や変更で依然として処理に時間のかかるケースがあることも補足しています。

ソースコードからインストールした PostgreSQL をマイナーアップグレードする

ソースコードからインストールした PostgreSQL をマイナーアップグレードするには、新規インストールと同じ手順を踏みます。

JSTQB AL テストアナリスト 受験記録 (2021/02/13)

JSTQB AL テストアナリスト試験に合格しました!勉強方法や資料、試験を受けてわかったことなどをまとめました。