mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-08-29 14:17:29 +02:00
Psql multikey (#9852)
* perf: convert promise.all to single query * perf: single query for removeBulk * perf: list
This commit is contained in:
committed by
GitHub
parent
ea04aeded4
commit
e6a17a6349
@@ -71,25 +71,21 @@ DELETE FROM "legacy_zset"
|
||||
};
|
||||
|
||||
module.sortedSetRemoveBulk = async function (data) {
|
||||
// const keys = [];
|
||||
// const values = [];
|
||||
if (!Array.isArray(data) || !data.length) {
|
||||
return;
|
||||
}
|
||||
const keys = data.map(d => d[0]);
|
||||
const values = data.map(d => d[1]);
|
||||
|
||||
// data.forEach(function (item) {
|
||||
// keys.push(item[0]);
|
||||
// values.push(item[1]);
|
||||
// });
|
||||
|
||||
const promises = data.map(item => module.sortedSetRemove(item[0], item[1]));
|
||||
await Promise.all(promises);
|
||||
|
||||
// TODO
|
||||
// await query({
|
||||
// name: 'sortedSetRemoveBulk',
|
||||
// text: `
|
||||
// DELETE FROM "legacy_zset"
|
||||
// SELECT k, v
|
||||
// FROM UNNEST($1::TEXT[], $2::TEXT[]) vs(k, v)`,
|
||||
// values: [keys, values],
|
||||
// });
|
||||
await module.pool.query({
|
||||
name: 'sortedSetRemoveBulk',
|
||||
text: `
|
||||
DELETE FROM "legacy_zset"
|
||||
WHERE (_key, value) IN (
|
||||
SELECT k, v
|
||||
FROM UNNEST($1::TEXT[], $2::TEXT[]) vs(k, v)
|
||||
)`,
|
||||
values: [keys, values],
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user