MrS*_*Scf 6 javascript node.js
我想知道您对以下任务有何看法。我想从数据库中的JSON对象写入数据。我想将SQL逻辑与业务逻辑分开。
当文件js包含很多查询时,我读过这种策略的性能不好。
您认为哪种方法是最佳做法?你能举个例子吗?
您的性能问题绝对是“赛马”场景(即测试并查看)。但一般来说,如果您要这样做,我只需导出一个包含所有命名查询的对象,如下所示:
module.exports = {
getAllUsers: "SELECT username, email, displayName FROM users;",
/* other queries */
}
Run Code Online (Sandbox Code Playgroud)
然后,您的调用代码可以只需要该文件并获取它所需要的内容:
const queries = require('./db/queries');
queries.getAllUsers // <-- this is now that string
Run Code Online (Sandbox Code Playgroud)
性能应该尽可能好,因为您的 require 缓存将确保文件只读取一次,并且 JS 中基于键的查找非常快,即使有一千或两个条目。
我认为将数据库代码与业务代码以及 API 代码(如果存在)分开始终是一个很好的做法。
创建这些不同的层,您可以获得不同的优势:
如果您想查看具有此层的项目,我们最近发布了一个简单的项目,可让您创建协作新闻通讯。您可以检查后端部分,其中有 db 文件夹、domain 文件夹和 api 文件夹。这些是我正在谈论的 3 层:
希望对您有帮助