【发布时间】:2010-10-23 18:56:36
【问题描述】:
我在表 (1) 中有一列数据,我必须对照数百(或数千)个其他表中的数据列进行检查。
将这作为mysql查询与两个表相交会更快,还是将表(1)中的数据放入数组中,然后将其他数据列设置为数组并相交?
它是 MySQL 和 PHP5.2。
【问题讨论】:
标签: php mysql array-intersect
我在表 (1) 中有一列数据,我必须对照数百(或数千)个其他表中的数据列进行检查。
将这作为mysql查询与两个表相交会更快,还是将表(1)中的数据放入数组中,然后将其他数据列设置为数组并相交?
它是 MySQL 和 PHP5.2。
【问题讨论】:
标签: php mysql array-intersect
除了将数据加载到 PHP 中的内存命中之外,您应该考虑在执行交集之前将数据从 MySQL 传输到 PHP 中的事实。如果 PHP 和 MySQL 不在同一个盒子上,这是需要考虑的性能差异。
数据库已针对此类操作进行了优化 - 在 MySQL 中执行查询还将最大限度地减少传输到 PHP 的数据量。
【讨论】:
如果您在单个查询中执行此操作肯定会更快。让你的 RDBMS 做他的工作,尽量少用 PHP!
【讨论】: