ник: osmor
спасибо.
Такое решение у меня уже есть :-)
На моем Intel Core2Duo 3Ghz + 4 гига памяти
Обработка таблицы с 8 тыс записями (по 4тыс в 2-х категориях) и 20 условиях замены (по 10 в каждой категории) заняла 2 минуты при локальном размещении таблиц.
и обработал 80 тыс записей
если условий в категории будет больше то каждая новая запись в условиях замены добавит в результирующий запрос столько записей сколько есть обрабатываемый строк в данной категории, т.е.
если я добавлю 1 условие для замены в категорию 1, то запрос будет обрабатывать на 4 тысячи строк больше.
т.е. при условии что категорий 5, записей в каждой категории 5 тыс (25 тыс записей) и условий для каждой категории 30, запрос будет обрабатывать 5000*30*5 = 750 тыс записей что 9 раз больше чем в тестовом примере, т.е. таблица в 15 тыс записей будет обрабатываться 2*9 = 18 минут, да и машинки у заказчика значительно слабее.
Возможно конечно это и есть самый быстрый способ.