SQLダンプから大規模データセットを抽出する
複数のINSERT文にわたる何百もの行を含むSQLダンプを処理します。大規模抽出のパフォーマンスとプレビュー制限について学びます。
Multi-Row INSERT
詳細な説明
大規模SQLダンプの処理
何百、何千もの行を含むデータベースダンプからデータを抽出する必要がある場合、SQLからCSVツールはブラウザ内ですべてを処理します。ツールがスケールをどのように処理するかを理解することで、大規模データセットを効率的に扱えます。
パターン例
CREATE TABLE access_log (
id BIGINT PRIMARY KEY,
timestamp DATETIME NOT NULL,
ip_address VARCHAR(45),
path VARCHAR(500),
status_code INTEGER,
response_time_ms INTEGER
);
INSERT INTO access_log VALUES
(1, '2024-01-15 08:23:01', '192.168.1.100', '/api/users', 200, 45),
(2, '2024-01-15 08:23:02', '10.0.0.50', '/api/products', 200, 123),
-- ... さらに数百行 ...
(500, '2024-01-15 09:15:44', '172.16.0.1', '/api/health', 200, 12);
パフォーマンス特性
| データセットサイズ | 解析時間 | 備考 |
|---|---|---|
| 100行未満 | 即時 | フルプレビュー利用可能 |
| 100-1,000行 | 1秒未満 | プレビューは100行に制限 |
| 1,000-10,000行 | 1-3秒 | フルCSVダウンロード可能 |
| 10,000行以上 | 遅くなる可能性 | 入力の分割を検討 |
大規模データセットのヒント
- プレビュー制限: テーブルプレビューはパフォーマンスのため最初の100行を表示します。フルCSV出力とダウンロードにはすべての行が含まれます。
- 複数テーブル: ダンプに複数のテーブルがある場合、よりクリーンな結果のために一度に1つのテーブルを変換してください。
- ダウンロード vs コピー: 非常に大きな出力の場合、ダウンロードボタンの方がクリップボードへのコピーよりも信頼性が高いです。
- ストリーミング: ツールは入力全体を一度に処理します。非常に大きなファイル(100MB以上)の場合、
awkやcsvkitなどのコマンドラインツールの使用を検討してください。
ユースケース
データウェアハウス、BIツール、スプレッドシートにロードするために、本番データベースダンプをCSVファイルに変換する。データベース移行やデータ監査時によく使われます。