MySQL: что такое временная таблица?

Какова цель временной таблицы, например, в следующем выражении? Как это отличается от обычной таблицы?

CREATE TEMPORARY TABLE tmptable
SELECT A.* FROM batchinfo_2009 AS A, calibration_2009 AS B
WHERE A.reporttime LIKE '%2010%'
AND A.rowid = B.rowid;

Ответ 1

Таблицы Temp хранятся только в течение всего сеанса с сервером. После отключения соединения по какой-либо причине таблица автоматически отбрасывается. Они также видны только текущему пользователю, поэтому несколько пользователей могут использовать одно и то же имя временной таблицы без конфликтов.

Ответ 2

Временная таблица перестает существовать, когда соединение закрыто. Таким образом, его целью является, например, сохранение временного набора результатов, который должен быть обработан до его использования.

Ответ 3

Временные таблицы в основном используются для хранения результатов запроса, которые нуждаются в дальнейшей обработке, например, если результат должен быть повторно запрошен или уточнен или будет использоваться в разных случаях вашим приложением. Обычно данные, хранящиеся во временной базе данных, содержат информацию из нескольких обычных таблиц (например, в вашем примере).

Временные таблицы автоматически удаляются при завершении текущего сеанса базы данных.

Ответ 4

Поддержка временных таблиц существует, чтобы разрешить процедурные парадигмы в наборе 4GL, либо потому, что кодер не переключил свое мышление 3GL на новую парадигму или не работал над проблемой производительности или синтаксиса (воспринимаемой или иным образом).