gpt4 book ai didi

javascript - knex js 查询生成器性能

转载 作者:行者123 更新时间:2023-12-01 03:00:47 27 4
gpt4 key购买 nike

knex.js 允许我们使用 js 构建查询。假设我们使用异步函数有以下代码逻辑:

const result1 = await knex('table1').select('something').where({condition1});
const result2 = await knex('table2').select('something').where({condition2: result1});
const result3 = await knex('table3').select('something').where({condition3: result2});

或者我们可以使用从 knex.js 构建的子查询,例如:

const subquery1 = knex('table1').select('something').where({condition1});
const subquery2 = knex('table2').select('something').where({condition2: subquery1});
const result3 = await knex('table3').select('something').where({condition3: subquery2});

显然这两种方法都会导致我们得到相同的结果(result3),但在第一种方法中,我们对数据库执行了 3 次查询,如果数据库位于远程,这可能需要一些时间。

第二种方法可以使用子查询在数据库上执行更少的查询,并节省一些时间吗?

最佳答案

是的。您可以通过调用 .toSQL() 方法查看查询生成器生成的查询。并通过设置环境变量来查看所有执行的查询 export DEBUG=knex:*

关于javascript - knex js 查询生成器性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46443031/

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