我正在尝试用于连接到 MSSQL 数据库的繁琐模块。
让我告诉你我的代码...
var connection = new Connection(config);
connection.on('connect', function(err) {
// If no error, then good to go...
console.log("Connected");
executeStatement();
});
connection.on('error', function(err) {
console.log("Error");
});
function executeStatement() {
var stmt = new Request("Select id from customers", function (err,rowCount) {
if (err) console.log(err);
console.log("RowCount: " + rowCount);
process.exit(1);
});
stmt.on( 'row', function (columns) {
console.log("\t\tRow");
columns.forEach(function(column) {
console.log(column.value);
});
});
stmt.on('done', function(rowCount, more) {
console.log(rowCount + ' rows returned');
});
connection.execSql(stmt);
}
我的代码进行查询以获取客户表中的所有记录。我正在听“行”事件,然后打印列值。客户表有 1.2 亿条记录。我面临的问题是,当我运行我的代码时,节点应用程序的内存占用开始增加,一段时间后,节点应用程序退出并出现内存不足错误。
作为一种解决方法,我开始分块查询客户表。我按字段排序,然后读取与该字段中的值对应的所有记录。读取所有记录后,我断开连接并重新连接到数据库并读取所有记录以获取下一个值。
这样,我意识到我的代码的内存占用情况正在检查中,并且没有内存不足错误。
我只想知道是否有人遇到过类似的问题以及如何解决?我们是否有可能修复模块以处理它或其他一些解决方案。
感谢您的帮助