在数据库中的几列之间找到匹配项的最佳方法
我想做这样的事情:
如果找到与 $a 匹配的内容,则显示该行的 ID
我在两种方式之间进行辩论:
选择整个表并查找匹配项并将它们保留为数据库,然后将它们呈现给数组
或者每次从表中搜索匹配
问题是每次我对所有表(非常大的表)执行查询时,都会出现内存限制问题
所以我正在寻找一种占用内存最少的方法
在数据库中的几列之间找到匹配项的最佳方法
我想做这样的事情:
如果找到与 $a 匹配的内容,则显示该行的 ID
我在两种方式之间进行辩论:
选择整个表并查找匹配项并将它们保留为数据库,然后将它们呈现给数组
或者每次从表中搜索匹配
问题是每次我对所有表(非常大的表)执行查询时,都会出现内存限制问题
所以我正在寻找一种占用内存最少的方法
如果所有数据都在一个表中,请确保您正在查询的数据已编入索引。这将确保对您的表进行“最佳”搜索。
在内存方面,如果你有一个非常大的结果集并将整个数据集塞进一个数组中,你可能会耗尽内存。为了解决这个问题,您应该对数据进行分页,例如将一些有限数量的结果加载到数组中进行显示,然后根据用户的要求呈现更多数据。
通常,从数据库中选择有限的结果比填充大型数组更快且内存占用更少。对于大表,请确保您只选择您需要的数据。您可能正在寻找类似的东西
SELECT record_id FROM your_table WHERE your_table.your_column = '$a' LIMIT 1;
这只会在您的结果集中返回一条记录。