MySQL отбрасывает таблицы, где движок - это память - PullRequest
2 голосов
/ 08 октября 2011

У меня есть база данных, в которой у меня есть постоянные версии таблиц, которые я делаю копии, а затем преобразовываю в механизм памяти для повышения производительности.Есть ли способ удалить все таблицы в БД по типу двигателя?Что-то вроде:

drop * from db1 where engine = memory;

Есть предложения?

1 Ответ

3 голосов
/ 08 октября 2011

Вы можете получить список имен таблиц с помощью следующего запроса:

select table_name 
from information_schema.tables 
where table_schema = 'db1' and engine = 'memory';

А затем сгенерируйте запрос, чтобы удалить их. Насколько я знаю, вы не можете использовать выражение / подзапрос для имени таблицы в операторе отбрасывания, поэтому вам придется использовать 2 запроса или создать хранимую процедуру для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...