在php中对数组或数据库执行大型查询


Performing large queries on Array or DB in php?

假设我有一个包含10000个用户的数组,对于每个用户,我需要存储他们最近执行的100个操作,以及该操作的时间。

这些数据也存储在mysql数据库中。对于每一秒钟,我需要检查100个用户动作,这意味着我需要迭代所有这100个动作和每分钟100个用户的动作时间。

那么哪一个更快呢?每分钟查询数据库100次?或者检查这些数组100次。

我在这里问的是,一般来说,如果你在一种情况下,你需要执行大量的数据库查询每秒(100每秒)对大量的数据(10000*200 = 2,000,000条记录),你也可以将数据存储在数组和搜索在这些数组本地,你会选择哪种方法?同时假设数组和数据库中的搜索都是优化的方法。(例如,它不是冒泡数组排序和搜索;))

数据库连接将是算法中最昂贵的部分,因此尽量减少每个连接持续的时间。

从数据库中取出,循环遍历数组。

除非你正在做一个在数据库中非常快的函数(如对索引排序,分组等),否则你应该在PHP中完成