ブックマーク / qiita.com/ingtk (2)

  • ANY_VALUE(HAVING MAX)を使ったデータ処理の最適化 - Qiita

    こんにちは、HRBrainでバックエンドエンジニアをしている稲垣です。 今年、K-POPにドハマりしてしまいましたので、アドカレでは BEST K-POP 2023 みたいな記事でバズリ狙いを考えたのですが、技術要素を盛り込むことができず断念しました。 今年は業務でBigQueryを使う機会が多かったため、今年リリースされたBigQueryの機能の中から ANY_VALUE(HAVING MAX) について紹介しようと思います。 ユースケース例 ANY_VALUE関数を説明するために、ユースケースとして履歴データの検索を考えてみたいと思います。 以下のように、ユーザごとに好きなフルーツの変更履歴を管理するテーブルがあります。 id: 主キー name: ユーザ名 fruit: フルーツ名 date: 登録日 テーブル: user_favorite_fruits id name fruit

    ANY_VALUE(HAVING MAX)を使ったデータ処理の最適化 - Qiita
    yug1224
    yug1224 2023/12/09
  • PostgreSQLで外部キーを使う際の注意点 - Qiita

    はじめに こんにちは、HRBrainでバックエンドエンジニアをしている稲垣です。趣味は2年前から子供と一緒に始めた将棋です。 最近、サービス開発をする中で、PostgreSQLの外部キーがパフォーマンスのボトルネックなるケースがあることを知ったので、実際に検証しながら解説していきたいと思います。 今回使用するコードはこちらにおいてあります。 前提条件 以下のような外部キーをもつテーブルを考えてみたいと思います。 チームとそこに所属するユーザを管理する単純なテーブル構成です。 CREATE TABLE IF NOT EXISTS teams ( id BIGSERIAL PRIMARY KEY, name VARCHAR(100) ); CREATE TABLE IF NOT EXISTS users ( id BIGSERIAL PRIMARY KEY, name VARCHAR(100)

    PostgreSQLで外部キーを使う際の注意点 - Qiita
    yug1224
    yug1224 2022/12/16
    PostgreSQLはMySQLと違って外部キーには暗黙的なインデックスが設定されないのかなるほど
  • 1