Готовчиц Максим, 396, MultiFileHashMap

Максим, очень плохой подход к функции show tables.
Смотри, пусть у тебя будет 1000000 таблиц, в каждом все 256 файлов, в каждом из файлов хотя бы по 10 строчек.
Немного математики: 2.560.000.000 строчек.
И охота тебе постоянно заниматься считыванием? Если я напишу show tables;show tables;show tables;show tables;show tables;show tables;show tables;show tables; то ждать ответа мне придётся очень долго. Да и скорее всего однажды словится исключение.
Лучше использовать другой подход: завести ещё один HashMap, в котором использовать в качестве ключа название таблицы, а в качестве значения - количество записей.
Тогда при запуске ты считываешь все таблицы, формируешь этот HashMap.
А затем, выполняя операцию create/drop, просто добавляешь/удаляешь строчки, а по текущей используемой таблице выдать результат table.list().length.

Почитай наш чат группы, мы обсуждали эту проблему.