Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
Пробующий
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
1

Что будет с UniqueIdentifier

19.07.2011, 13:33. Показов 1416. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
У меня есть таблица
Что будет с UniqueIdentifier

PersonId - это Unique Identifier с начальным значением 1 и Приращением 1.
Каждый пользователь может регистрироваться на сайте и обновлять личные данные.
При регистрации генерируется INSERT скрипт, при обновлении надо делать UPDATE, но мне стало лень писать UPDATE (не сильно лень, просто я подумал - зачем), я просто вставил перед INSERT скриптом DELETE. То есть я удаляю запись пользователя и вставляю еще раз с обновленными данными.
Но в таком случае обновленной записи присваивается новый PersonId (в случае с UPDATE такого не будет) и этот PersonId постоянно увеличивается при каждом обновлении.
Тип PersonId - это 4 байтовый int, беззнаковый, то есть там предел - около 4 миллиардов значений. Но я слабо представляю тягу пользователей к обновлению своих личных данных. Может получится ситуация, когда PersonId достигнет предельного значения при небольшом к-ве пользователей, просто потому, что они будут часто обновлять у себя аватарку или ник.
Вообщем вопроса два:
1. Что будет с PersonId, если он достигнет предела типа данных, то есть на сайте захочет зарегится 100001 - ный пользователь, но при этом предыдущие 100000 слишком часто обновляли данные. То есть фактически к-во записей в таблице Persons - это 100000, но PersonId максимальный - уже очень большой.
2. Что сработает быстрее DELETE - INSERT или UPDATE?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.07.2011, 13:33
Ответы с готовыми решениями:

Почему говорят, что при создании базы данных в качестве ID нужно использовать uniqueidentifier
Слышал из одного видеоурока по ADO.NET, что обычно в базах данных в качестве ID не используют...

Что будет, если установленная ОЗУ будет от разных производителей?
Добрый вечер! На мамке 2 слота для оперативки. купил недавно 2 гб OCZ. И сегодня 1гб другой фирмы....

Что будет выводить puts, если в конце строки не будет нулевого байта
что будет выводить puts, если в конце строки не будет нулевого байта

Что будет если к пустой строке применить strtoint. Какое число будет присвоено?
Что будет если к пустой строке применить strtoint. Какое число будет присвоено?

1
1 / 1 / 0
Регистрация: 26.08.2011
Сообщений: 8
26.08.2011, 11:59 2
1. Будет ошибка:

Arithmetic overflow error converting IDENTITY to data type int.

В качестве решения можно предложить изменить тип данных PersonId на BIGINT (верхний предел значений 9,223,372,036,854,775,807)

2. Если на таблице построены индексы, delete+insert дороже чем update. Иначе - одинаково.
0
26.08.2011, 11:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.08.2011, 11:59
Помогаю со студенческими работами здесь

Что будет если СО будет двигаться навстречу свету?
Пусть у нас есть луч света, движущийся навстречу СО. И пусть СО тоже двигается прямолинейно со...

Теоретически! Если на сайте не будет не какой текстовой информации то и найти на нём что то будет не возможным (внутри)?
Вот чисто к примеру есть раскамнадзары и прочие ухари.... Вот как они ищут сайты !? Я к примеру...

Uniqueidentifier в sqlite
Подскажите пожалуйста, как правильно создать строку id с типом uniqueidentifier и как потом...

Как генерировать uniqueidentifier
Добрый день! Существует ли метод для генерации uniqueidentifier ( для поля id в таблице) ? Можно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru