MySQL丢弃表,其中引擎是内存

时间:2011-10-08 15:28:26

标签: mysql sql

我有一个数据库,我有永久版本的表,我制作副本然后转换为内存引擎以获得更快的性能。有没有办法按引擎类型删除数据库中的所有表?有点像:

drop * from db1 where engine = memory;

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

您可以使用以下查询获取表名列表:

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

然后生成一个查询以删除它们。据我所知,你不能在drop语句中使用表达式/子查询作为表名,所以你必须使用2个查询或为此创建一个存储过程。