Воскресенье, 24 Ноября 2024, 13:02

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
[ PHP MySQL ] Оптимизация запроса
KempstonДата: Среда, 21 Декабря 2016, 16:58 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Такой вопрос. Можно ли как-то оптимизировать два запроса - в идеале сократить их до одного - для решения задачи чтения строки и обновлением, при этом, в ней одной ячейки.

Код
$sq1="SELECT * FROM table WHERE ( field1='search' ) LIMIT 1";
$sq2="UPDATE table SET field2='value' WHERE field1='search' LIMIT 1";

На ум приходит объединить запросы. Наверно, это дает какую-то экономию. Если не на уровне БД, то хотя бы на уровне скрипта php.

Код
$sq1="( UPDATE table SET field2='value' WHERE field1='search' LIMIT 1 ) UNION ( SELECT * FROM table WHERE ( field1='search' ) LIMIT 1 )";


Но, я так понимаю, во второй половине запроса будет производиться еще раз поиск по всей таблице. А можно ли сделать так, чтобы оперировать уже найденной строкой? То есть, чтобы не искать ее повторно для записи.
И еще. Что получится в результате выполнения объединенного запроса? Будет ли массив с данными?


Сообщение отредактировал Kempston - Среда, 21 Декабря 2016, 17:02
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг