I faced a situation when I need to delete a lot of mnesia tables on the node (about 20000). Since there is a name pattern for these tables I can collect and delete them this way:
Tables = [Table || Table <- mnesia:system_info(tables), re:run(atom_to_list(Table), "<pattern>") /= nomatch],
lists:foreach(
fun (Table) ->
mnesia:delete_table(Table)
end,
Tables).
However deleting them one by one is very slow and it takes very long to delete 20k tables. Is there any way to do it more effectively?