gpt4 book ai didi

postgresql - 在使用 PostgreSQL 的 TypeORM 中,findOne(id) 是否比 findOne({ id }) 快?

转载 作者:行者123 更新时间:2023-12-02 16:04:20 27 4
gpt4 key购买 nike

我将 NestJS 框架与 TypeORM 和 PostgreSQL 结合使用。假设我有一个简单的 User 实体,它只有两个属性:idname

@Entity()
class User {
@PrimaryGeneratedColumn()
id: string;

@Column({
type: 'varchar'
})
name: string;

问题:

  1. usersRepository.findOne(id) 是否比 usersRepository.findOne({ id }) 快?

  2. 我假设 usersRepository.findOne(id) 会比 usersRepository.findOne({ name }) 快,因为 name不在索引中,不是吗?

最佳答案

我创建了一个包含 500 000 个项目的表并对一些方法进行了基准测试(这些方法已被调用 100 000 次):

<表类="s-表"><头>方法平均时间 [µs]<正文> this.usersRepository.query('SELECT * FROM "users" WHERE id = 258') 163.98 this.usersRepository.query('SELECT * FROM "users" WHERE name = "John"') 143.77 this.usersRepository.findByIds([258]) 343.99 this.usersRepository.findOne(258) 326.64 this.usersRepository.findOne({ id: 258 }) 338.89 this.usersRepository.findOne({ name: "John" }) 298.40

然后看起来像findOne(id)不比 findOne({ id }) 快(很多) .此外,findOne({ name })有相似的结果。但是,看起来使用自定义查询是最佳选择。

关于postgresql - 在使用 PostgreSQL 的 TypeORM 中,findOne(id) 是否比 findOne({ id }) 快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69842195/

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