Тема запроса с участием таблички markuptrans поднималась уже здесь
оптимизируем запросы., но там речь шла об оптимизации.
Хочу добавить, что в этом коде есть еще и ошибка (с моей точки зрения). Если конфигурационный ключ markup (накладные расходы) не включен, то таблица не используется, джойнить ее бесполезно, и в этом случае надо было бы поставить условие на наличие ключа и вообще отключать запрос. Например, у нас такая проверка привела к кардинальному ускорению сопоставлений (скажем, разноска журналов банковской выписки с автоматическим сопоставлением ускорилась как минимум в 100 раз).