大型数据库的性能,更快的方法:用php或sql查找值?

大型数据库的性能,更快的方法:用php或sql查找值?,php,mysql,sql,sql-server,database,Php,Mysql,Sql,Sql Server,Database,假设我们的数据库中有一个非常大的表(很多行和单元格),我们正在寻找一个非常特殊的值 哪种方式可以让我们更早地看到结果? a) 将该表放入一个php数组中并通过该数组 b) 使用sql命令搜索值列上有索引的数据库应该更快 即使没有索引,正如您所描述的问题,数据库也会更快。仅仅将数据移动到php数组是一项昂贵的操作。即使数据库必须进行全表扫描,它也只会向后移动您关心的行。假设您正在搜索的列已正确索引,直接使用SQL应该会更快。否则,您必须选择整个表,并在PHP中循环使用它,而不必使用索引 如果出于任

假设我们的数据库中有一个非常大的表(很多行和单元格),我们正在寻找一个非常特殊的值

哪种方式可以让我们更早地看到结果? a) 将该表放入一个php数组中并通过该数组
b) 使用sql命令搜索值

列上有索引的数据库应该更快


即使没有索引,正如您所描述的问题,数据库也会更快。仅仅将数据移动到php数组是一项昂贵的操作。即使数据库必须进行全表扫描,它也只会向后移动您关心的行。

假设您正在搜索的列已正确索引,直接使用SQL应该会更快。否则,您必须选择整个表,并在PHP中循环使用它,而不必使用索引


如果出于任何原因无法搜索索引,我认为这两种方法都会非常慢。本质上,单独使用PHP搜索没有任何好处。

如果表很大,则获取数据以填充数组将需要时间,而在大数组中搜索将很慢(除非您为数组使用特殊的索引方法),无论您使用什么语言,PHP、java、c#或其他


在要搜索的列上放置一个索引:行、单元格或唯一值(如果只搜索一个值),这取决于您的搜索。

如果表足够小,可以将其放入PHP数组中,根据定义,它不是“非常大”(按数量级)。