Занимаюсь вопросом оптимизации, из-за большого количества запросов к БД сайт зачастую возвращает Error 500.
В итоге сейчас решил максимально избавиться от запросов через циклы и стараюсь собрать все данные в массив, и генерировать 1 запрос.
Уже задавался вопросом про несколько UPDATE одним запросом, но как я понимаю это не возможно.
Погуглил в интернете и наткнулся на:
LOCK TABLES `products` WRITE;
UPDATE `products` SET `description`='$text1' WHERE `name`='bmv';
UPDATE `products` SET `description`='$text2' WHERE `name`='ford';
UPDATE `products` SET `description`='$text3' WHERE `name`='lans';
UNLOCK TABLES;
Вопрос 1: Как делать UPDATE если нужно сделать обновление в 100 записях. Создавать 100 UPDATE запросов?
Вопрос 2: Есть ли смысл делать LOCK TABLES на время выполнения запросов?
Вопрос 3: Как поведет себя сайт, если допустим я обновил страницу, а она обращается к таблице, которую мы заблокировали? Сайт будет грузится до тех пор, пока таблица не разблокируется или до таймаута? или просто вернет ошибку?