|
Поле с автонумерацией с шагом больше 1 - есть ли смысл?
|
|||
---|---|---|---|
#18+
Получил в работу базу, где колонки некоторых основных сущностей были созданы примерно так: EntityId COUNTER(0, 16), т.е. строки идут с шагом 16. Пытаюсь понять, насколько это в принципе имеет смысл. База многопользовательская, некоторые пользователи подключены через VPN со всеми вытекающими, но мне не понятно, сможет ли такой подход как-то защитить от задваивания ключей при работе пользователей на медленном канале. Мое мнение - нет, только усложнит поиск проблем. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2017, 09:14 |
|
Поле с автонумерацией с шагом больше 1 - есть ли смысл?
|
|||
---|---|---|---|
#18+
VolunteerБаза многопользовательская [skipped] не понятно, сможет ли такой подход как-то защитить от задваивания ключей при работе пользователей Ну вообще-то когда вводится подобная система нумерации уникального индекса, то клиентская часть делается таким образом, чтобы каждый отдельный экземпляр клиента имел своё начальное значение, гарантирующее вместе с шагом присвоения не-пересечение сгенерированных уников (EntityId COUNTER(n, m), где n - номер клиентской части, уникальный в пределах системы, а m не менее их количества). Вот только в рамках одной таблицы это не реализуется, в каждой клиентской части создаётся своя, локальная, таблица, со своими параметрами автоинкремента, а сформированные записи копируются в общую таблицу центральной БД. Volunteerусложнит поиск проблемВ описанной схеме - нет, т.к. номер клиентской части однозначно определяется по (EntityId MOD m). Правда, усложняется код создания новой записи. С другой стороны, один раз отладить и забыть... ну и m выбрать с запасом, с учётом перспектив расширения системы. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2017, 09:53 |
|
Поле с автонумерацией с шагом больше 1 - есть ли смысл?
|
|||
---|---|---|---|
#18+
AkinaВот только в рамках одной таблицы это не реализуется Так в том и вопрос. Таблица общая, поэтому и не вижу смысла. Видимо, ошибка, попробую уточнить, что имел в виду автор, когда он проснется :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2017, 10:07 |
|
Поле с автонумерацией с шагом больше 1 - есть ли смысл?
|
|||
---|---|---|---|
#18+
Volunteer, там, может быть, автосоединение (не помню навскидку, точный термин): то есть, когда главная таблица берёт связанные значения у себя же. Когда первый раз такое делаешь, в голову лезут всякие "предохранители" от неразберихи в ключами. Я сам уже не помню, что мне в голову вступало... В памяти держится только вывод, что вроде как обычные ограничения, заданные при заранее (до начала ввода данных) установленной связи Один-Многие не нарушаются и работает всё, как и при обычном способе с двумя таблицами... В Борее, кажется, есть пример: на схеме данных у виртуальной второй таблицы алиас: ИмяТабл_1... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2017, 10:22 |
|
|
start [/forum/topic.php?fid=45&msg=39417857&tid=1612643]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
others: | 333ms |
total: | 438ms |
0 / 0 |