Моя проблема заключается в следующем: У меня есть два массива $first
и $second
той же длины, содержащей строки. Каждая строка задается положительное значение в таблице с именем Fullhandvalues
:String to Value compare Оптимизация MySQL Query
Field: board : string(7) PRIMARY KEY
Field: value : int (11)
Я хочу подсчитать, сколько раз $ первый [$ я] имеет лучшее значение, чем $ второго [$ я], сколько раз у них есть то же значение и сколько раз $ first [$ i] имеет худшее значение, чем $ second [$ i].
То, что я сделал в настоящее время получает все значения с помощью
$values[0]= DB::table('Fullhandvalues')->where_in("board",$first)->get(Array("value"));
$values[1]= DB::table('Fullhandvalues')->where_in("board",$second)->get(Array("value"));
, а затем сравнивая значения. Но это, кажется, очень медленно (примерно 6 секунд, при длине массива 5000 и 50000 записей в таблице)
Большое спасибо заранее
EDIT: Как я цикл через них:
$win=0;$lose=0;$tie=0;
for($i=0;$i<count($values[0]);$i++)
{
if ($values[0][$i]>$values[1][$i])
$win++;
elseif ($values[0][$i]<$values[1][$i])
$lose++;
else $tie++;
}
Обозначены ли ваши столбцы? – David
Да, на борту есть указатель – edi9999
Извините, я вижу индекс сейчас. Можете ли вы опубликовать, как вы проходите через них? – David