我需要检查某个整数值是否已经存在于我的数据库中(该数据库正在不断增长)。而且在一个脚本中需要进行数千次检查。我考虑了两种选择:
1. 从MySQL数据库中读取所有这些数字到PHP数组中,每次需要检查时使用in_array函数。 2. 每次需要检查数字时,只需执行类似于SELECT number FROM table WHERE number='#' LIMIT 1的语句。
一方面,搜索存储在RAM中的数组应该比每次查询mysql更快(如我所提到的,在一个脚本执行期间要执行大约一千次这样的检查)。另一方面,数据库正在增长,那个数组可能会变得相当大,这可能会减慢事情的速度。
问题是 - 哪种方法更快或在其他方面更好?
1. 从MySQL数据库中读取所有这些数字到PHP数组中,每次需要检查时使用in_array函数。 2. 每次需要检查数字时,只需执行类似于SELECT number FROM table WHERE number='#' LIMIT 1的语句。
一方面,搜索存储在RAM中的数组应该比每次查询mysql更快(如我所提到的,在一个脚本执行期间要执行大约一千次这样的检查)。另一方面,数据库正在增长,那个数组可能会变得相当大,这可能会减慢事情的速度。
问题是 - 哪种方法更快或在其他方面更好?