#367: Собрать по кирпичику
|
|
Работал над одним проектом, который до меня делали другие. Проект достаточно большой, и одна из его частей считывает некоторые данные с базы. Есть возможность регулировать дату от и до при считывании. Возникла проблема, из-за которой клиент очень ругался. Если промежуток от и до очень большой, к примеру кто-то захочет считать данные за несколько лет, то скрипт работает нереально медленно, а иногда даже выдаёт таймаут.
Бились над проблемой 3 дня, перелопатили кучу кода, даже нашли некоторые другие баги, которые не имели отношения к проблеме. В итоге наткнулся на кусок кода в том месте, где искать никто просто не додумался:
$res = $DB->getData($query); //считывает данные с ДБ и загоняет в пронумерованный массив $data = new array(); foreach ($res as $key=>$value) { if (!$data[$key]) $data[$key] = $value; };
Все это вместо простого $data = $res; Что имел ввиду кодер, родивший это чудо, так и осталось загадкой. Пользователи, пока что, не говорили Спасибо! Спасибо!
Ключевые Cлова: данные, некоторые, datakey, очень, большой, считывает, другие, искать, месте, никто, додумался, нашли, которые, просто, кусок, наткнулся, итоге, DBgetDataquery, отношения, имели.
|