1
gaoyulong 2019-01-27 21:35:04 +08:00
mysql 应该有类似的接口
|
2
ccpp132 2019-01-27 22:01:03 +08:00
使用 sax 接口的 json 库是否就行了
|
3
luozic 2019-01-27 22:06:39 +08:00 via iPhone
结构化就必须一次输出?不是可以后缀添加? 数据库也是默认分页的,不会一次输出好几千条数据。
|
4
jorneyr 2019-01-27 22:27:49 +08:00 1
SELECT * FROM demo WHERE id>2 ORDER BY id
INTO OUTFILE '/Users/Biao/Desktop/a.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n'; 这个是导出 csv 的,其他的格式百度有。 |
5
karnaugh 2019-01-27 22:45:06 +08:00
老铁你这个头像有点涩啊 2333
|
6
night98 2019-01-27 23:50:49 +08:00
流式查询了解一下
|
7
des 2019-01-28 00:33:05 +08:00 via Android
用游标查,慢慢读
|
8
Trim21 2019-01-28 01:19:43 +08:00 via Android
用流式处理
|
9
buaacss 2019-01-28 08:14:58 +08:00
java 的 mysqlconnector 本身支持流式读取吧,迭代器就是一行行处理,具体到 connector 本身的实现应该是每次取 1000 行,遍历完了再取 1000 这样。处理成 csv 的话,内存里应该最多有 1000 行数据就够了,反正就是流式读取流式写入
|
10
sujin190 2019-01-28 09:42:04 +08:00
大部分 mysql driver 都实现了 nobuffer 的 cursor 了吧,execute 的并不会完成读取,只有真正读取行的时候才从 mysql 服务器读取,读完一行返回一行,然后直接写入文件就是了啊,不需要应用拥有大内存
不过似乎像 execl 好像不支持流式输出啊,坑死了,只能 csv |