Как использовать подстановочный знак при определении границ при разбиении таблицы в SQL 2008? - PullRequest
1 голос
/ 25 марта 2011

У меня есть несколько миллионов записей в таблице (данные книг / носителей), и я хотел бы разбить таблицу, используя их номера ISBN. Однако я хотел бы разделить их, используя только последние 3 цифры чисел.

* 000 * 001 * 002 ... * 999

Это делит все, что я хочу, на аккуратные, меньшие / более удобные участки данных, так как количество книг / носителей в них будет ограничено. Так что выбор / вставки всегда (по мне) будут относительно быстрыми.

Проблема теперь в том, что с помощью мастера я не могу понять, как использовать подстановочный знак в разделе «Граница» при определении функции.

Возможно ли это?

1 Ответ

2 голосов
/ 25 марта 2011

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

В качестве дополнительного примечания добавление 1000 разделов в SQL Server 2008 R2 сделает (очень) медленными запросы к этой таблице.Секционирование никогда не является вариантом повышения производительности, лучший результат, на который вы можете надеяться, это отсутствие регрессии из таблицы без разделов.

...