我使用了 Cassandra-driver 节点包(4.6.3)。我正在尝试从表中检索记录,如下所示。该表包含 142 条记录。当我尝试使用 25 的 fetchSize 时,我得到的总记录为 136。当我将 fetchSize 更改为 50 时,我能够按预期将总记录计数为 142。
let output = [], params = []
let query = `select * from files`
cassandraDriver.client.eachRow(query, params, { prepare : false , fetchSize: 25 }, function(n, rows) {
output.push(1)
}, async function(err, result){
if(result.nextPage) {
result.nextPage()
} else if(output.length > 0) {
console.log('Total size : ', output.length) // I am getting 132 here. But the table contains 142 records.
}
})
下面是我的获取大小为 50 并且我按预期获得 142 条记录的情况。
let output = [], params = []
let query = `select * from files`
cassandraDriver.client.eachRow(query, params, { prepare : false , fetchSize: 50 }, function(n, rows) {
output.push(1)
}, async function(err, result){
if(result.nextPage) {
result.nextPage()
} else if(output.length > 0) {
console.log('Total size : ', output.length) // The output is 142 as expected with a fetch size of 50
}
})
我不确定为什么会发生这种情况,我尝试使用 1000 作为获取大小,并且效果也很好。我得到 142 条记录。我在这里做错了什么还是驱动程序中有错误。