ТАБЛИЦА ВРЕМЕННЫХ КАДРОВ - PullRequest
5 голосов
/ 01 июня 2011

Столкнулся с интересной проблемой с таблицей MySQL, которую я строил как временную таблицу для целей отчетности.

Я обнаружил, что если я не укажу механизм хранения, команда DROP TEMPORARY TABLE будет зависать до полсекунды.

Если бы я определил свою таблицу как ДВИГАТЕЛЬ = ПАМЯТЬ, это короткое зависание исчезло бы.

Поскольку у меня есть решение этой проблемы (с использованием таблиц MEMORY), мой вопрос заключается в том, почему временная таблица занимает много времени для удаления?Разве они не используют движок MEMORY по умолчанию?Это даже не очень большая таблица, пара сотен строк с моими текущими тестовыми данными.

1 Ответ

4 голосов
/ 01 июня 2011

Временные таблицы, по умолчанию, будут создаваться там, где это указано в конфигурации mysql, обычно / tmp или где-то еще на диске. Вы можете установить это местоположение (и даже несколько местоположений) в место на диске RAM, например /dev/shm.

Надеюсь, это поможет!

...