Artur
Новичок
Работа с большими массивами
Цель - сравнить 2 таблицы по значениям в одном столбце (текстовый параметер), и удалить все совпадения
Столкнулся с проблемой, когда не работают большие массивы.
//формирует массив элементов из базы1
$q=mysql_query("select * from _base1");
while ($r=mysql_fetch_array($q)){ $base1[] = $r['field1'];}
//формирует массив элементов из базы2
$q=mysql_query("select * from _base2");
while ($r=mysql_fetch_array($q)){ $base2[] = $r['field1'];}
//создаёт массив элементов которые есть в базе2 но нет в базе1.
$result_mass1=array_diff ( $base2, $base1 );
Всё работает отлично до тех пор пока сравниваемые таблицы маленькие. При тестовом (200-300 записей) - всё ОК. А в рабочей версии (около 20.000 записей) видимо буксует.
Может кто посоветовать решение? Может сравнение через массив это плохое решение?
Цель - сравнить 2 таблицы по значениям в одном столбце (текстовый параметер), и удалить все совпадения
Столкнулся с проблемой, когда не работают большие массивы.
//формирует массив элементов из базы1
$q=mysql_query("select * from _base1");
while ($r=mysql_fetch_array($q)){ $base1[] = $r['field1'];}
//формирует массив элементов из базы2
$q=mysql_query("select * from _base2");
while ($r=mysql_fetch_array($q)){ $base2[] = $r['field1'];}
//создаёт массив элементов которые есть в базе2 но нет в базе1.
$result_mass1=array_diff ( $base2, $base1 );
Всё работает отлично до тех пор пока сравниваемые таблицы маленькие. При тестовом (200-300 записей) - всё ОК. А в рабочей версии (около 20.000 записей) видимо буксует.
Может кто посоветовать решение? Может сравнение через массив это плохое решение?