0

在数据库中的几列之间找到匹配项的最佳方法

我想做这样的事情:

如果找到与 $a 匹配的内容,则显示该行的 ID

我在两种方式之间进行辩论:

  1. 选择整个表并查找匹配项并将它们保留为数据库,然后将它们呈现给数组

  2. 或者每次从表中搜索匹配

问题是每次我对所有表(非常大的表)执行查询时,都会出现内存限制问题

所以我正在寻找一种占用内存最少的方法

4

2 回答 2

0

如果所有数据都在一个表中,请确保您正在查询的数据已编入索引。这将确保对您的表进行“最佳”搜索。

在内存方面,如果你有一个非常大的结果集并将整个数据集塞进一个数组中,你可能会耗尽内存。为了解决这个问题,您应该对数据进行分页,例如将一些有限数量的结果加载到数组中进行显示,然后根据用户的要求呈现更多数据。

于 2013-11-13T19:55:19.583 回答
0

通常,从数据库中选择有限的结果比填充大型数组更快且内存占用更少。对于大表,请确保您只选择您需要的数据。您可能正在寻找类似的东西

SELECT record_id FROM your_table WHERE your_table.your_column = '$a' LIMIT 1;

这只会在您的结果集中返回一条记录。

于 2013-11-13T20:12:35.827 回答