|
|
|
Нужен ли server_id?
|
|||
|---|---|---|---|
|
#18+
Возник спор с коллегами по поводу таблицы. Хотим с нуля создать базу (опираясь на опыт предудущего проекта). Так вот, у нас имеется несколько филиалов, данные ходят по репликации. В старой системе механихм репликации был самопальный (где через архив, где заливали данные в одну репликационную таблицу, реплицировали ее средствами MS SQL, и затем хр. пырой разкладывали по нужным таблицам). База - псевдообъектная. В таблице OBJECTS записи имели класстерный ключ object_id + class_id,где object_id - identity. Чтобы добится уникальности "объектов" в масштабе всех филиалов была добавлена вспомогательная таблица REPLOBJECTS, в которой кажодму OID-у присваивался GUID (object_id int, gu_id varchar(40)). Возник вопрос, а не внести ли в таблицу OBJECTS поле server_id, который позволит добится уникальности объекта (для каждого филиала - свое значение server_id). Интересно, как решаются подобные проблемы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2002, 09:42:20 |
|
||
|
Нужен ли server_id?
|
|||
|---|---|---|---|
|
#18+
ИМХО подобные проблемы решаются применением в качестве ПК (идентификатора) поля типа uniqueidentifier, где по дефолту стоит значение NEWID. *** BOL SQL 2000 *** Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2002, 10:23:06 |
|
||
|
Нужен ли server_id?
|
|||
|---|---|---|---|
|
#18+
А производительность (скорость поиска по ключу) в больших таблицах (> 10 000 000 записей) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2002, 11:07:48 |
|
||
|
Нужен ли server_id?
|
|||
|---|---|---|---|
|
#18+
Уникальный идентификатор хранится в бинарном виде, т.е. не зависит от локализации. Длина ключа постоянная, уникальность значений 99.9999999999999 %. Какие могут быть проблемы? ЗЫ Кстати, в BOL 2000 в статье о репликациях именно UI приводится в качестве рекомендуемого ключа, т.к. уникальность значения поддерживается не на уровне таблицы или БД, а вообще в мире! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2002, 11:50:07 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32039939&tid=1821449]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
34ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 295ms |

| 0 / 0 |
