Кажется, что может быть проще перегона данных 1 к 1 из одной релятивной базы в другую? Просто делаеш селект из одной и инсерт в другую. Но тут возникает проблемма с тем, как выбрать например записи с 900 до 1000. Большенство програмистов сразу же предложат запрос SELECT FIRST 1000 SKIP 900 …. (так как в firebird нет LIMIT) и такой запрос выполнится очень быстро, но только при маленьких объёмах данных (до 1 млн. записей). А что делать в случае, если нам необходимо сделать выборку 10 последних строк из 10 000 000 записей? Такой запрос будет выполняться уже около 52 секунд.
Как вы уже могли догадаться, есть и другой метод выборки записей — это выборка по индексу. В данной статье именно такой алгоритм я и хочу описать.
Подробнее: Из Firebird-Interbase в MySQL