タグ

ブックマーク / blog.smartbank.co.jp (1)

  • オイ、そこのSELECT COUNT。余計な数え上げに意味なんかねえ - inSmartBank

    こんにちは。MySQLは秋の季語とする一派が世に存在していることを知り、私もMySQLに関わる記事を書いてみようと筆を取ることにしました。 さて、リレーショナルデータベースをバックエンドとするWebアプリケーション開発において、特定の条件に合致するレコードがN件だけ存在するかどうかを確認するロジックは頻出といえます。プログラマとして一度は書いたことがあるのではないでしょうか? この記事ではそのような件数カウントを行うためのクエリが引き起こした性能劣化と、その改善アプローチについて紹介していきます。 なお、記事の内容はMySQLを前提としており、アプリケーションコードの例はRuby on Railsを用いますが特別な前提知識は必要ありません。コードの雰囲気だけ感じ取っていただければと思います。 ありがちなコード if query.count == n の問題 冒頭で述べた通り、特定の条件に

    オイ、そこのSELECT COUNT。余計な数え上げに意味なんかねえ - inSmartBank
    honma200
    honma200 2024/10/11
    EXISTSってSQLの変態仕様の一つと思っててこのPostgreSQLの書き方だと副問い合わせの結果が1つだけでもあればTRUEで戻ってくるのよね(全部走査するのはFALSEだけ) https://www.postgresql.jp/docs/15/functions-subquery.html
  • 1