Оптимизировать SQL-запрос - PullRequest
1 голос
/ 19 марта 2010
UPDATE employees
   SET job_id = (SELECT job_id
                   FROM employees
                  WHERE employee_id = 205),
       salary = (SELECT salary
                   FROM employees
                  WHERE employee_id = 205)
 WHERE employee_id = 114;

Это запрос, который я использовал. Здесь я использую 2 подзапроса, но они имеют одно и то же условие. Время поиска удваивается. Есть ли способ оптимизировать весь запрос для одного подзапроса?

Заранее спасибо

1 Ответ

5 голосов
/ 19 марта 2010

вы можете удалить подзапрос, если обновите набор столбцов:

UPDATE employees
   SET (job_id, salary) 
        = (SELECT job_id, salary FROM employees WHERE employee_id = 205)
 WHERE employee_id = 114;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...