Всем привет, есть таблица translate
на базе mysql
с переводом в размере 700 тыс записей, делаю в цикле перевод каждое слово:
foreach($res->data->skuModel as $skuModel){
getTranslate($skuModel->propName);
}
при каждом цикле идет запрос к базе:
function getTranslate($text) {
$this->db->query("SELECT * FROM `translate` WHERE zh='$text' LIMIT 1");
foreach ($query->rows as $result) {
return $result['translate'];
}
}
И вот такой грязный код тормозить страницу:
выполнения за 5 секунд это еще нормально. Если пройтись по циклу 100 раз то вот тогда начинается ад. Не правильный подход написания кода не реально тормозить страницу вообще страница должна сгенерироваться за 0,5 сек но тут у меня такой кошмар даже не знаю что мне делать.
Вопрос: Как мне оптимизировать код.
Проблема решена как сказали @mike
и @Ипатьев
использовал индекс
заменил тип из text
на varchar(1000)
подключил индекс
и вуаля в 100 000 раз быстрее.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Друзья, после загрузки картинки на сервер, картинка не открываетсяТ
Делаю dll inject в процесс, в нем нужно прочитать структуру VMatrix из адреса 0x1006B40