В современных СУБД, файл БД имеет достаточно сложную структуру. Это связано с поддержкой неубиенности БД. Т.е., там должна содержаться информация для контроля целостности данных, для откатов в случае аварийного завершения транзакции, и т.п. В связи с этим, при выполнении любых запросов, связанных с изменением данных (в частности и с удалением), выполняется достаточно много операций не видимых пользователю. Как следствие, изменение данных в БД - достаточно длительная операция. Например, по опыту, удаление 5 млн. записей из таблицы может занимать до 20 - 30 минут (СУБД Sybase 5.5). Можно конечно удалять всю таблицу, но при этом может возникнуть путаница с хозяином таблицы. Т.е. при обращении к вновь созданной таблице, ты не знаешь, кто (user name) ее последний создавал (напоминаю формат обращения к таблице: owner_name.table_name). Между тем, индексация - это стандартный способ вывода отсортированных данных. Время выполнения запроса при наличии индекса практически нулевое, т.к. в индексе заранее хранится порядок вывода данных. Конечно это ведет к некоторому увеличению размера файла БД. Размер индекса примерно равен (кол-во записей)*(sizeof(double long)).