RDBMS

スポンサーリンク
PostgreSQL

【実務・中級編】 N-Distinct統計 – PostgreSQL

「またクエリプランナーがやらかしてくれたよ……」そんな嘆きを夜中のデバッグ中に聞いたことはありませんか? 巨大なテーブル同士を結合するとき、PostgreSQLが「おい、この結合結果はたったの1行だぜ!」と自信満々に誤った見積もりをして、結...
PostgreSQL

【入門編】 N-Distinct統計 – PostgreSQL

こんにちは!データベースエンジニアとして日々PostgreSQLと格闘している私ですが、今日は少しマニアックだけど、知っていると「おっ、やるな」と思われる「N-Distinct(エヌ・ディスティンクト)」というお話をしてみたいと思います。「...
PostgreSQL

【テクニカル・上級編】 random_page_costの最適化 – PostgreSQL

「SSD時代に `random_page_cost` を疑わないのは罪」という話PostgreSQLのチューニングにおいて、`random_page_cost` は最も「誤解されやすく、かつ劇的な効果を生む」パラメータの一つです。Postg...
PostgreSQL

【実務・中級編】 random_page_costの最適化 – PostgreSQL

「SSDなのにインデックスが使われない?」PostgreSQLの`random_page_cost`が引き起こす悲劇現場でPostgreSQLを触っていると、たまにこんな相談を受けます。「クエリが全然インデックスを使ってくれないんです。Ex...
PostgreSQL

【入門編】 random_page_costの最適化 – PostgreSQL

「なぜかインデックスを使ってくれない!」を解決。PostgreSQLのSSD最適化術こんにちは!データベースの世界にどっぷり浸かっているエンジニアです。今日は、PostgreSQLを使っていると時々遭遇する「せっかくインデックスを張ったのに...
PostgreSQL

【テクニカル・上級編】 ヒント句の代替手法 – PostgreSQL

PostgreSQLにおける実行計画の「制御」:ヒント句なき世界でどう立ち回るかPostgreSQLを長く触っていると、一度は必ずぶち当たる壁があります。「なぜ、オプティマイザはこれほどまでに不器用なパスを選んでしまうのか」という問いです。...
PostgreSQL

【実務・中級編】 ヒント句の代替手法 – PostgreSQL

なぜPostgreSQLは「ヒント句」をくれないのか?:実行計画を制御するための現場的アプローチ「あー、このクエリ、なんでわざわざ遅いインデックス選んでるんだよ……!」PostgreSQLを触っていると、一度はこう叫びたくなりますよね。Or...
PostgreSQL

【入門編】 ヒント句の代替手法 – PostgreSQL

「なぜか遅い……」を解決する!PostgreSQLの実行計画と上手な付き合い方こんにちは!データベースの世界に足を踏み入れたばかりのみなさん、日々のお仕事や学習、お疲れ様です。データベースを使っていると、最初はサクサク動いていたはずのクエリ...
PostgreSQL

【テクニカル・上級編】 結合手法の制御 – PostgreSQL

結合アルゴリズムの「強制」は、劇薬である。PostgreSQLのクエリプランナは、数あるオープンソースのRDBMSの中でも、驚くほど洗練されたコストベースオプティマイザ(CBO)を持っています。しかし、どれだけ賢いプランナでも、統計情報の鮮...
PostgreSQL

【実務・中級編】 結合手法の制御 – PostgreSQL

PostgreSQLの「プランナの勘違い」を正す――結合制御フラグとの上手な付き合い方現場でデータベースを触っていると、たまに「なんでオプティマイザはこんな変な実行計画を選んだんだ?」と頭を抱える夜がありますよね。特に、数千万行のテーブル同...
スポンサーリンク