• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQL文長の制限)

SQL文長の制限について知りたい

このQ&Aのポイント
  • PostgreSQL8.1.3において、長いwhere句のあるSELECT文を実行すると「server closed the connection unexpectedly」というエラーが発生します。SQL文長は317726文字で、in条件のリストが非常に多いことが原因と考えられます。試しにin条件を減らして156000文字までSQL文を短くしたらエラーは回避できましたが、SQL文長のみが問題ではない可能性もあります。
  • SQL文を改修してエラーを回避するためには、どのくらいのSQL文長が安全なのかが分からないため、改修の目安を知りたいです。
  • また、in条件をor条件に変更すると、エラーとなるSQL文長が変わるため、SQL文長だけが影響要素ではないと考えられます。

質問者が選んだベストアンサー

  • ベストアンサー
  • nfushi
  • ベストアンサー率31% (39/122)
回答No.1

すごく長いSQLですね。 INやORを使わずにEXISTSで書けばどうでしょうか? 文字数じゃなくパフォーマンスのせいだと思います。

goma_kuma
質問者

お礼

ご回答ありがとうございます。 さすがに、こんな長いSQL文を発行するのは問題だと思いますので、 処理方式から見直すことにしました。 そのときには、構文も含めて検討したいと思います。

関連するQ&A