Функция SplitValue в sql server2008 - PullRequest
       9

Функция SplitValue в sql server2008

0 голосов
/ 11 января 2010

Я нашел некоторую табличную функцию для разбиения строки в sp и получения значений в столбцах, но когда данные огромны, эти функции становятся медленными. так что если у кого-то есть хорошая функция для разделения значений, разделенных запятыми, на строки таблицы ... укажите, пожалуйста.

Ссылка, где я нашел некоторые функции: Нажмите здесь

Ответы [ 2 ]

1 голос
/ 11 января 2010

Я использую Эрланда Соммарскога функция chunk_split_me . Я сомневаюсь, что вы найдете какие-либо статьи, в которых более подробно рассматриваются относительные достоинства каждого подхода к проблеме.

Если ни одна из его функций не работает для вас, вам, вероятно, придется обратиться к пакетной обработке.

0 голосов
/ 11 января 2010

Точная обработка занимает много времени, ПОТОМУ ЧТО много данных. Вы не избежите этого.

Проблема в том, что вы храните несколько значений в одном столбце. Это нарушает первую нормальную форму. В результате вы не можете создавать индексы для этих столбцов для более эффективного их поиска.

Я предлагаю вам улучшить свой дизайн, разбив текст запятой на отдельные столбцы. Вы можете скопировать свои данные в новый улучшенный дизайн, используя запрос, подобный тому, который вы уже написали.

...