|
|
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
> Вам уже пять человек дали свои вразумительные ответы На Вашем месте я бы просто признался, что лоханулся и невнимательно прочел вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2008, 22:35 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
guest_20040621На Вашем месте я бы просто признался, что лоханулся и невнимательно прочел вопрос. Были б вы на моем месте, не сделали бы лопухнутых высказываний типа: guest_20040621 > Первичный ключ VARCHAR Очень старался, но ничего тупее придумать не смог. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2008, 10:05 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
Да нет, все правильно, по-прежнему ничего тупее придумать не могу. Домашнее задание: - найти десять отличий UUID от varchar; - найти и описать различия при использовании ключей int, UUID и varchar. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2008, 11:08 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
2 guest_20040621 еще раз: вы понимаете в каких случаях стоит сделать выбор в сторону GUID для PK? вы понимаете разницу между типами varchar и uniqueidentifier в mssql? вы понимаете разницу между rowid (oracle) и GUID-ом? вы знаете что в oracle и многих других СУБД нет встроенного типа GUID? вы понимаете что при построенном индексе, в промышленных СУБД на производительности практически никак не сказывается выбор типа для PK int, uniqueidentifier или varchar? вы когда-нибудь пробовали проводить тесты для того чтобы подтвердить свои предположения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2008, 12:29 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
> вы понимаете в каких случаях стоит сделать выбор в сторону GUID для PK? UUID, а не GUID. Мелкомягкие поделия с мелкомягкими реализациями меня не интересуют. > вы понимаете разницу между типами varchar и uniqueidentifier в mssql? Разницу между UUID и varchar - да, конечно. А вот Вы, похоже, не очень. Настойчиво предлагаю избавиться от мелкомягкой терминологии и перейти к стандартной. > вы понимаете разницу между rowid (oracle) и GUID-ом? Конечно. И как это связано с текущим обсуждением? > вы знаете что в oracle и многих других СУБД нет встроенного типа GUID? Конечно. Тот же вопрос: как это связано с текущим обсуждением? > вы понимаете что при построенном индексе, в промышленных СУБД на производительности > практически никак не сказывается выбор типа для PK int, uniqueidentifier или varchar? Да ну? Кто ж Вам, дружище, сказал такую чушь? > вы когда-нибудь пробовали проводить тесты для того чтобы подтвердить свои предположения? Конечно. Причем, в качестве ключа выступал URN. Так что это не предположения, это абсолютная уверенность. Результаты Ваших тестов - в студию. Вместе посмеемся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2008, 12:53 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
Тьфу, блин, записался. URI, а не URN. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2008, 13:01 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
guest_20040621Результаты Ваших тестов - в студию. Вместе посмеемся. Например . Имхо, более принципиальна альтернатива между "естественным" и "суррогатным". После этого выбора (ЕК или СК) выбор типа либо сужается (интересно, есть ли СУБД поддерживающие "суррогатный" ключ символьного типа?) либо исчезает (ЕК)... Кстати, тема автора уже давно исчерпана:) Олег ГапонВопрос был в другом. Какие подводные камни при миграции с CHAR на VARCHAR. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2008, 14:54 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
> Например Ссылаться на заборы - дурной тон. Еще варианты? > альтернатива между "естественным" и "суррогатным" Естественных ключей не бывает. Если не понимаете - запомните. Если плохо с памятью - запишите на большом листе бумаги красного цвета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2008, 15:01 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Например Ссылаться на заборы - дурной тон. Еще варианты? Там есть исходные скрипты. Дурной тон - делать голословные заявления. guest_20040621> альтернатива между "естественным" и "суррогатным" Естественных ключей не бывает. Если не понимаете - запомните. Если плохо с памятью - запишите на большом листе бумаги красного цвета. Суррогатных тоже не бывает. Бывают "естественные" и "суррогатные". Советовать запомнить то что не понимаешь - также дурной тон. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2008, 15:39 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
> Дурной тон - делать голословные заявления. Юноша, у Вас, как Вы говорите, есть "исходные скрипты". Замените в этих "исходных скриптах" ключи на URI, внимательно посмотрите на получившиеся результаты и прекратите е%^&ть мне мозги. В сторону: ну почему, если у юзера в профиле M$ SQL - все, голова не работает. :( Просто эпидемия какая-то. > Суррогатных тоже не бывает. Бывают "естественные" и "суррогатные" К психиатру. А потом - в сад. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2008, 15:46 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Дурной тон - делать голословные заявления. Юноша, у Вас, как Вы говорите, есть "исходные скрипты". Замените в этих "исходных скриптах" ключи на URI, внимательно посмотрите на получившиеся результаты и прекратите е%^&ть мне мозги. В сторону: ну почему, если у юзера в профиле M$ SQL - все, голова не работает. :( Просто эпидемия какая-то. > Суррогатных тоже не бывает. Бывают "естественные" и "суррогатные" К психиатру. А потом - в сад. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2008, 15:50 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
guest_20040621 Будте так любезны Вашу аргументацию против (за) GUID в качестве PK 1) Против ... 2) За .. И результаты Ваших тестов - в студию. Вместе посмеемся ______________________________________________________ Ох ! БолятЪ мои крылья ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2008, 16:08 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
> Будте так любезны Не буду, дружище. Если интересно - пользуйтесь поиском, обсасывалось миллион раз. А если непременно хотите моих аргументов - фигней я занимаюсь по тарифной ставке $700 в час. Минимальный контракт - рабочая неделя. Надумаете - приходите, обхохочетесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2008, 16:23 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
guest_20040621 Дружище, вы мне напоминаете врача, который все знает и умеет, не не может найти пациентов потому что постоянно к ним опаздывает ... да ладно не будем об этом. ALL В 2004 г. выполнил контракт по переводу PK базы системы на GUID, потому что программный комплекс стал "бесконтрольно" тиражироваться. Код: plaintext и обеспечить уникальность иным способом (в две строны) стало достаточно накладным мероприятием (об online там и сейчас не мечтают) Я тогда пессимистически оценивал потерю в быстродействии (где-то до %15) при построении достаточно сложных выборок - хотя чисто по человечески объясните мне разницу между 22 и 25 миллисекундами - запрос документа из базы) С того времени против GUID для таких систем у меня нет возражений, хотя боязно было по началу мне сердешному ______________________________________________________ Ох ! БолятЪ мои крылья ... (болят очень дорого) :o) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2008, 17:18 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
shelsoftпо переводу PK базы системы на GUID Надо понимать mssql? Тогда любопытно узнать, кластеризованный или нет? И проводилось какое-нить исследование/тестирование на тему clustered vs nonclustered? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2008, 17:34 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
> против GUID для таких систем у меня нет возражений Дружище, бесспорный лидер по тупым заявлениям - ЧАЛ. На втором месте - Шуклин. Вы боретесь за почетное третье место? Ну тогда активнее нужно это делать, активнее. Иначе так и останетесь во второй десятке. Абсолютно фиолетово, уважаемый, против чего _у Вас_ нет возражений. Есть границы применения любого решения независимо от того, знаете Вы об этом или нет. В общем - тоже в сад. Активно курить буквари. Вырастете из песочницы - возвращайтесь. P.S. А если бы Вы, уважаемый, умели читать по-русски, то легко заметили бы, что в этом обсуждении UUID и int ключи не сравнивались. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2008, 17:40 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
guest_20040621 Дмитрий, а вы и так в первой пятерке по идио(то)матическим заявлениям и хто вам сказал, что там были int ключи. Эта была прекрасная столь любимая вами поделка пьяного китайского школьника выполненная сначала с int ключами, замененными затем char-овскими якобы гарантирующими уникальность общим центральным весом около 20Гбайт. P.S. В песочницу извините не могу, она уже внутри LR Не кластерный. Не проводилось. Не до этого Около 8 месяцев убилось только на восстановление непротиворечивости данных и убой дубликатов. ______________________________________________________ Ох ! Болят мои крылья ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2008, 18:15 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
А если бы Вы чуть-чуть подумали _до_ того, то легко бы заметили, что для децентрализованных систем идентификатор ноды существенно важен; если бы при этом у Вас был бы еще и калькулятор, то так же легко бы заметили, что int8 + int4 (int4 - количество нод; такого количества филиалов, полагаю, даже у Coca-Cola нет) обеспечили бы функционирование системы на ближайшие двести лет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2008, 18:28 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
А если бы Вы чуть-чуть внимательно прочитали первый пост то своим мудрым выпуклым глазом заметили почему реализация этого подхода была бы весьма проблематичным. Софт из "филиалов" стал уходить "клиентам", какие в ж... калькуляторы с нодами, и хто их там будет устанавливать Пушкин или guest_20040621 ? И то что к тому времени в базе уже были GUID позволило не встретится с "маааленькой такой полярной лисичкой" ______________________________________________________ Ох ! БолятЪ мои крылья ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2008, 18:46 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
Сначала создали проблему, потом криво ее разрулили, а потом подумали, все ли сделано правильно. Очень по-русски. В такой интерпретации Ваш опыт использования UUID выглядит более правдоподобно. И что, полагаете, этим нужно хвастать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2008, 19:20 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
shelsoftНе кластерный. Не проводилось. Не до этого Понятно. Еще, в таком случае, интересно узнать как определились с кластерными индексами - "индивидуально" для каждой таблицы исходя из ...(каких соображений?) или оставили в "куче"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2008, 22:17 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
guest_20040621 Зачем хвастать, была реальная проблема. Она реально решена. Софт к базе оказался настолько удачным, что "ушел" к клиентам. Т.е. отметая все лиш(ч)ное и т.д. как-бы приходит мыФль, что решение любой проблемы (в т.ч. и выбора типа PK) в том числе зависит от организационных условий в которых будет эксплуатироваться СУБД и не всегда подчиняется законам ДИМОкратии: Что такое типа ... 1) ключи типа int - для централизованных систем cо службой централизованной поддержки в т.ч. online 2) ключи типа int8 + int4 для распределенных offline систем, но c организованной службой централизованной поддержки 3) ключи типа UUID для распределенных систем, где централизованная поддержка проблематична или не возможна LR Когда мы закончили проект в конце 2004 г. кластерные индексы не использовались, быстродействие было вполне приличным. Фактически заказчик получил новую базу (в смысле организации связей и логики работы) и новый софт для работы с ней. ______________________________________________________ Кстати "guest_20040621", заявленные Вами 700$/час трактуются по-русски очень неоднозначно ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2008, 11:56 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
> Она реально решена Если бы Вашим заказчиком был я, то считал бы, что она решена криво. Если Вашего заказчика решение устраивает - мне это никаких проблем не создает. Заказчик заплатил деньги и получил то, что хотел за эти деньги. > в том числе зависит от организационных условий Архитектура - в том числе и выбор ключей - полностью и целиком определяется техническим заданием и ничем другим. А в том, что техническое задание обычно представляет собой кусок дерьма, а не документ, виновата тупость и жадность заказчика. Впрочем, это лирика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2008, 13:25 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
guest_20040621Если бы Вашим заказчиком был я ".. то я бы повесился" (к/ф "ИВМП") Аналогично наоборот ______________________________________________________ Ох ! Болят мои крылья ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2008, 13:50 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
> ".. то я бы повесился" Вы бы получили подробное техническое задание, с которым было бы удобно работать, сервер с софтом для контроля версий, багтракером и пр. фигней, четкий график этапов, отсутствие геморроя и своевременную оплату. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2008, 13:57 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35053893&tid=1544087]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
167ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 493ms |

| 0 / 0 |
