SQLで取得したデータが大きすぎて扱えない
2021年03月30日
今日、SQLを使ってデータを取得したんだが、
700M弱のテキストデータって扱いに困る。
1行に8255文字あるし。
いつも使ってるotbeditは、1行5000文字までしか対応してなくて
改行なしに設定しても改行表示されるし。
データを取得するときの設定がいけてなかったのが敗因。
set pagesize 30000(30万行)
set linesize 8000 (8255文字)
ページもラインも出力データより小さい値が設定されてて、
扱いにくいったらない。
エクセルを得意としている自負はあるけど、おとなしく再取得します。。。
教訓
700M弱のテキストデータって扱いに困る。
1行に8255文字あるし。
いつも使ってるotbeditは、1行5000文字までしか対応してなくて
改行なしに設定しても改行表示されるし。
データを取得するときの設定がいけてなかったのが敗因。
set pagesize 30000(30万行)
set linesize 8000 (8255文字)
ページもラインも出力データより小さい値が設定されてて、
扱いにくいったらない。
エクセルを得意としている自負はあるけど、おとなしく再取得します。。。
教訓
- pagesizeとlinesizeは、取得データに合わせて適切に設定しよう。
- select * じゃなくて、必要なカラムだけtrimで取得しよう。
set pagesizeの上限値は、50,000行までだった。
SQL*Plus 制限 - オラクル・Oracle SQL*Plus リファレンス (shift-the-oracle.com)
set pagesize = 0にすれば、ヘッダーがなしになるので今回はこれで対応だな。
カラム名や、Linesizeは事前に調べるのがいいね。
データベース内のカラム一覧をSQL文を使って表示させる - Qiita
PR
Comment