忍者ブログ

SQLで取得したデータが大きすぎて扱えない

2021年03月30日
今日、SQLを使ってデータを取得したんだが、
700M弱のテキストデータって扱いに困る。

1行に8255文字あるし。

いつも使ってるotbeditは、1行5000文字までしか対応してなくて
改行なしに設定しても改行表示されるし。

データを取得するときの設定がいけてなかったのが敗因。

set pagesize 30000(30万行)
set linesize 8000 (8255文字)

ページもラインも出力データより小さい値が設定されてて、
扱いにくいったらない。


エクセルを得意としている自負はあるけど、おとなしく再取得します。。。


教訓
  1. pagesizeとlinesizeは、取得データに合わせて適切に設定しよう。
  2. select * じゃなくて、必要なカラムだけtrimで取得しよう。
3/31追記
set pagesizeの上限値は、50,000行までだった。
SQL*Plus 制限 - オラクル・Oracle SQL*Plus リファレンス (shift-the-oracle.com)

set pagesize = 0にすれば、ヘッダーがなしになるので今回はこれで対応だな。

カラム名や、Linesizeは事前に調べるのがいいね。
データベース内のカラム一覧をSQL文を使って表示させる - Qiita


PR
Comment
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字