这里的大 O 表示法是什么,我该如何弄清楚?

What is the big O notation here and how do I figure it out?

这个数组中有 1805 个元素。我循环遍历每一个并输出 ID 并销毁追随者。
我如何在这里找到大 O 符号?

更好更快的选择是使用 followers.destroy_all 吗?

followers.each { |f| puts f.id; f.destroy! }; 

当您查看 destroy_all 的源代码时,您会发现它基本上与您的示例相同。它遍历关系中的所有记录并在每个记录上调用 destroy。我希望它仍然比您的版本快一点,因为调用 puts 不是免费的。但是两个版本都是O(n)

如果可能,您可能希望使用 delete_all,它不会将所有记录加载到内存中,也不会在每个元素上调用 destroy。相反,它会删除与单个 SQL 查询相关的所有记录,这使得该方法比 destroy_all 快得多。但当然 delete_all 不会触发回调,因此可能对您不起作用。