MySQL: что такое временная таблица? - PullRequest
10 голосов

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

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;

Ответы [ 4 ]

12 голосов
/ 22 мая 2010

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

3 голосов
/ 22 мая 2010

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

2 голосов
/ 22 мая 2010

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

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

1 голос
/ 16 декабря 2011

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

...