gpt4 book ai didi

Mysql 多个用户使用 diff diff SQL_CALC_FOUND_ROWS 导致 diff diff 总行数

转载 作者:行者123 更新时间:2023-11-29 10:23:37 24 4
gpt4 key购买 nike

我在我们的系统中使用了多种不同的查询,我们想要获取分页的“总”记录。

我所遵循的所有地方都遵循这种结构 -

var query1 = "select SQL_CALC_FOUND_ROWS ...."
sql.query(query1, [], function (error, results, fields) {
var _qry2 = "SELECT FOUND_ROWS() as total;"
sql.query(_qry2, [], function (error2, results2, fields2) {
});
});

我在这里面临的问题是,当 1-10 个用户使用我的所有系统时,它会为所有 API 提供正确的“总”计数。

但是当没有。用户数量增加到 10 多个(比如 20 个),随着每个用户使用所有 API 之一,“总数”不断变化。

所以说,如果“总”行数为 245,那么根据其他查询的“总”计数,有时它会给出 18、有时 300、有时 245 行。

我不知道这里发生了什么,一片空白。

需要帮助。

谢谢

最佳答案

您必须使用相同的连接才能获得可靠的结果,而不仅仅是池中的一个。

sql.getConnection(function(err, conn) {
if (err) throw err;
conn.query("SELECT SQL_CALC_FOUND_ROWS * FROM table", [], function(err, result) {
if (err) {
conn.release(); // give connection back to the pool
throw err;
}
conn.query("SELECT FOUND_ROWS() as total", [], function(err, result) {
if (err) {
conn.release(); // give connection back to the pool
throw err;
}
let total = result[0].total;
conn.release();
});
});
});

关于Mysql 多个用户使用 diff diff SQL_CALC_FOUND_ROWS 导致 diff diff 总行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48753708/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com