Задать вопрос
@skyfly2010

Как оптимизировать запрос mysql?

Добрый день, ув. профи. Подскажи пожалуйста, как оптимизировать запрос на обновление данных. В базе 22000 записей. Обновляется от 6000 до 8000.
Сейчас имеем:
$sql = "UPDATE catalog_tmp SET id = '".$key['id']."' WHERE o_mark = '".addslashes($key['model'])."';";
  • Вопрос задан
  • 136 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
ThunderCat
@ThunderCat Куратор тега MySQL
{PHP, MySql, HTML, JS, CSS} developer
Какой тип поля имеет o_mark? и какова его длинна если это текстовое поле? Если запрос занимает более нескольких секунд - скорее всего не настроен индекс по этому полю.

Таблица с менее 1 000 000 записей в принципе не является большой, в данном случае очевидно есть проблема с настройкой.

Посмотрите не избыточна ли длинна поля, если поле помещается в 30 символов - ставьте 30, не надо делать "с большим запасом" индексные поля. Это нагружает выборку и раздувает индекс.
Ну и собсно создайте индекс на поле.
Ответ написан
@entermix
Возможно вам поможет этот ответ https://toster.ru/answer?answer_id=91852#answers_l...

вообще, как я понимаю, основная проблема в том, что мы посылаем 8000 запросов. Сейчас думаю, как сократить это число.


Попробуйте использовать expr IN (value,...)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы