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