Будет ли временная таблица внутри хранимой функции создаваться более одного раза при выполнении функции из инструкции SELECT? - PullRequest
0 голосов
/ 20 февраля 2020

Допустим, у меня есть функция, которая создает временную таблицу, которую я хочу использовать для запроса SELECT. Есть ли шанс, что функция будет перестраивать временную таблицу более одного раза в операторе SELECT? Какова лучшая практика в этом сценарии?

CREATE FUNCTION getID(id INT)
RETURNS INT DETERMINISTIC
BEGIN
  -- build ID table
  CREATE TEMPORARY TABLE IF EXISTS tbl2(
    id int,
    val int
  );

  -- insert values into tbl2 here

  SET @id = NULL;

  SELECT tbl2.id INTO @id from tbl2 where id = tbl2.id;
  return @id;
END
SELECT getID(id)
FROM tbl
WHERE condition;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...