我有一个包含大约1000万行的MySQL数据库中的大型表格,需要将这些数据转换成JSON格式。对于较小的表格,我会使用基本的
我注意到mysql模块具有“流式”行的功能(https://github.com/felixge/node-mysql/#streaming-query-rows),因此我想知道它是否仍会将整个表格加载到内存中,然后逐一提供每一行,或者实际上只加载一行,因此整个表格从未完全存储在内存中。
connection.query("SELECT * FROM TABLE, function(err, results) {});
语法。但是,我不想将整个表格加载到内存中。我注意到mysql模块具有“流式”行的功能(https://github.com/felixge/node-mysql/#streaming-query-rows),因此我想知道它是否仍会将整个表格加载到内存中,然后逐一提供每一行,或者实际上只加载一行,因此整个表格从未完全存储在内存中。
mysqldump -h source_host -u root -p --hex-blob source_db_name table_name | mysql -h target_host -u root -p target_db_name
当从CSV导入时,如果您想更改数据,则还可以通过节点流传输CSV。我正在使用fast-csv模块进行操作,效果非常好。请注意,您必须暂停CSV流并允许数据库赶上,否则您将耗尽内存,因为CSV流比数据库写入速度快得多。 - Lilleman