gpt4 book ai didi

sql - 交叉检查用户列表和数据库上的用户 - 坏主意?

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

说吧。如果我在我的系统上注册了 1,000,000 个用户,并且我有一个包含 500 个名称的列表。

我想将这些名称与我系统上的用户数量进行交叉检查,以查看哪些名称/用户已在数据库中注册。

这样的过程会显着降低应用程序的速度吗?还是这种事情经常发生?

也许我可以每 30 分钟缓存一次结果,这样我就不必每次都调用它。

编辑 >> 一点澄清:

我忘了说我正在尝试更新 500 个名字的列表。因此,如果“foobar”和“joe”在此列表中并且也在数据库中注册,那么我要做的就是从列表中删除“foobar”和“joe”,给我 498 个名称。

我认为这样做不合适:

User.where('name in (?)', Array('foobar', 'joe'))

我会做类似的事情:

User.each do |registered_user|
index = list.index(list.find{ |user| user.screen_name.downcase == registered_user.screen_name.downcase })
list.delete_at(index) if index
end

filtered_list = list

上面的代码是不是矫枉过正了?

最佳答案

任何值得称道的现代关系数据库都应该能够轻松处理 500 次数据库检查而不影响其他查询,前提是您的表结构正确(唯一键、经常搜索的字段上的索引、等等)

关于sql - 交叉检查用户列表和数据库上的用户 - 坏主意?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5423138/

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