2013-02-22 1 views

ответ

1

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

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

В качестве альтернативы, если эти поля varchar - все числа, проверьте, можете ли вы преобразовать их в int.

+0

Да, некоторые идентификаторы сотрудников являются строками. Я попробовал, и для обработки 1600+ записей потребовалось почти 45 минут. Я также посмотрел в коде Tree Behavior, не видел, чтобы я мог взломать. Спасибо хоть. – antoniovassell

+0

Какая система управления базами данных вы используете? Обычно нет необходимости обрабатывать записи вручную. Если все внешние ключи являются строками, представляющими целые числа, вы должны иметь возможность конвертировать поле. Также вы можете «преобразовать» все идентификаторы строк в последовательные номера с помощью процедуры DB или сценария на стороне сервера. Все основные [DBs имеют контрольные структуры] (http://en.wikipedia.org/wiki/Control_flow), поэтому не должно быть большой проблемой для восстановления последовательных целочисленных ключей для всех записей и изменения всех идентификаторов во всех затронутых таблицах. –