У меня есть функция, которая берет две строки с разделителями и возвращает количество общих элементов.оптимизировать sql-функцию для получения общих элементов
Основной код функции (@intCount ожидаемое возвращаемое значение)
SET @commonCount = (select count(*) from (
select token from dbo.splitString(@userKeywords, ';')
intersect
select token from dbo.splitString(@itemKeywords, ';')) as total)
, где splitString использует время цикла и CHARINDEX разделить строку в разделителями токенов и вставляет его в таблицу.
Проблема, с которой я сталкиваюсь, заключается в том, что это только процессы со скоростью около 100 строк в секунду и размером моего набора данных, это займет около 8-10 дней.
Размер двух строк может составлять до 1500 символов.
Есть ли в любом случае я могу достичь этого достаточно быстро, чтобы его можно было использовать?
Это что-то, что вам нужно для запуска все время, или это одноразовые усилия? – dasblinkenlight
Я запускаю некоторые симуляции для интеллектуального анализа данных, поэтому нужно делать это всякий раз, когда меняется моя модель или я хочу экспериментировать с новыми формулами. вероятно, не очень часто. – randomThought