小编use*_*501的帖子

以极高的速度提取行

我在Oracle中有非常大的表(数亿行,包含数字和字符串),我需要读取该表的所有内容,格式化它并写入文件或任何其他资源.通常我的解决方案如下所示:

package my.odp;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.TimeUnit;
import java.lang.Throwable;
import java.sql.*;


public class Main {
public static volatile boolean finished = false;

public static void main(final String[] args) throws InterruptedException {
    final ArrayBlockingQueue<String> queue = new ArrayBlockingQueue<String>(10000);
    final Thread writeWorker = new Thread("ODP Writer") {
        public void run() {
            try {
                File targetFile = new File(args[0]);
                FileWriter fileWriter = new FileWriter(targetFile);
                BufferedWriter writer = new BufferedWriter(fileWriter);
                String str;
                try {
                    while (!finished) {
                        str …
Run Code Online (Sandbox Code Playgroud)

java sql oracle jdbc

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

java ×1

jdbc ×1

oracle ×1

sql ×1