|
|
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
Первичный ключ VARCHAR. Могут ли быть какие нибудь подводные камни ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2007, 15:28 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
На больших таблицах будут тормоза из-за переменной длины данных и большого объема индекса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2007, 15:57 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
А с какой целью он ставится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2007, 16:01 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
andbaryА с какой целью он ставится? Да что то мне CHAR не нравиться с его фиксированной длиной..завершающие пробелы нужно рубить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2007, 16:15 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
А... кластерный индекс - там же? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2007, 16:36 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
> Первичный ключ VARCHAR Очень старался, но ничего тупее придумать не смог. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2007, 16:40 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
guest_20040621Очень старался, но ничего тупее придумать не смог Очень обширный и исчерпывающий ответ. Большое спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2007, 16:47 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
> Большое спасибо. Большое на здоровье. Читать - видимо, не слишком актуальный совет. Наймите нормального архитектора. Сэкономите и себе, и окружающим кучу времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2007, 17:01 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
и не надейтесь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2007, 17:04 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
Тоесть использование VARCHAR в качестве первичного ключа вполне приемлимо, для таблиц с небольшим количеством данных. Всё остально ересь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2007, 17:07 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
Олег Гапон wrote: > Тоесть использование VARCHAR в качестве первичного ключа вполне > приемлимо, для таблиц с небольшим количеством данных. Всё остально ересь. с большим к-вом данных - тоже приемлимо. зависит от. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2007, 17:21 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
locky ....зависит от. чего ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2007, 17:29 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
Советую перепроектировать БД. С ростом объемов данных будете иметь проблемы (проверено опытом). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2007, 22:07 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
Сейчас как раз используеться CHAR как первичный ключ в 3 таблицах из 250, но что то мне CHAR перестал нравиться... Так что перепроектировать как раз ничего не надо...просто были разные мысли... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2007, 23:29 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
Олег Гапон wrote: > ....зависит от. > > чего ? От необходимости и опрадванности данного подхода. вполне можно себе представить задачу, в которой ПК и впрямь должен быть строковый (или, другими словами - где строковый ПК наиболее оправдан). В противовес этому можно привести довольно много случаев из практики, где строковый ПК являлся откровенной лажей и ошибкой проектировки. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2008, 12:25 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
Первичный ключ строковый - это даже не обсуждается. Вопрос был в другом. Какие подводные камни при миграции с CHAR на VARCHAR. Поскольку в таблицах (а их предположительно будет всего три) планируеться малое количество строчек (порядка 100) и это количество в течении 5-10 лет увеличится максимум в три раза и данные таблицы будут малоиспользуемыми, то VARCHAR в качестве первичного ключа в ДАННОМ КОНКРЕТНОМ случае проблем никаких не представляет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2008, 20:37 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
В данном случае действительно никаких. Сам, в свое время, использовал в унаследованной системе именно такой тип данных (на приличных объемах). Но я бы ввел в эти таблицы, что нибудь типа "счетчика", вдруг да пригодится... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2008, 15:26 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
Олег ГапонТоесть использование VARCHAR в качестве первичного ключа вполне приемлимо, для таблиц с небольшим количеством данных. Всё остально ересь. на 20 млн. строк, при построенном индексе особой разницы между pk на varchar и int не наблюдалось ни на mssql, ни на oracle. автор=guest_20040621Очень старался, но ничего тупее придумать не смог > Большое спасибо. Большое на здоровье. Читать - видимо, не слишком актуальный совет. Наймите нормального архитектора. Сэкономите и себе, и окружающим кучу времени. В oracle нет встроенного типа GUID (как uniqueidentifier в mssql), поэтому если выбор падает в сторону GUID для pk, что происходит довольно часто в распределенных БД, то в oracle это будет varchar(36). Если требуется поддержка обеих субд, то скорее всего и в mssql - тоже varchar(36). Индекс по GUID-у куда более разбалансированный, чем просто по последовательному varchar-у, и проблем возникает в распределенных БД и схемах репликации гораздо меньше чем если бы pk был int. Ну и еще примеров можно привети где pk на основе varchar выгоден. То что будут какие-либо большие тормоза и нерешаемые проблемы при использовании varchar в pk на больших объемах данных - это миф. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2008, 16:52 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
> В oracle нет встроенного типа GUID Как это связано с varchar, можно поинтересоваться? И как это связано с varchar(36)? > То что будут какие-либо большие тормоза и нерешаемые проблемы при использовании varchar > в pk на больших объемах данных - это миф Да конечно, какая фигня: ключи + ссылки будут занимать всего в десять раз больше места. Нужно просто купить молоток побольше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2008, 17:08 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
guest_20040621 > В oracle нет встроенного типа GUID Как это связано с varchar, можно поинтересоваться? И как это связано с varchar(36)? guid представляете как выглядит? или в глаза не видели никогда? guest_20040621 Да конечно, какая фигня: ключи + ссылки будут занимать всего в десять раз больше места. Нужно просто купить молоток побольше. Вы не из 80-х годов случайно, что вас так объемы заботят? или может на dbf-ах сидите? Уж конечно такие аргументы - чушь полная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2008, 17:27 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
guest_20040621Да конечно, какая фигня: ключи + ссылки будут занимать всего в десять раз больше места. Нужно просто купить молоток побольше.С чего они будут занимать в десять раз больше места??? Может быть, в 1.5 раза? В 2 раза? Если у таблицы с средним весом записи в 100 или 1000 байт ключ займёт не 4 байта, а 10 - это катострафически скажется на производительности? Не говоря уже о том, что решение о наборе ключей и их типе должно приниматься скорее от потребностей бизнеса, а не от занимаемого места. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2008, 17:33 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
Олег Гапон пишет: > Первичный ключ VARCHAR. Могут ли быть какие нибудь подводные камни ? В отрыве от конкретики СУБД об этом говорить бессмысленно. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2008, 17:55 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
Олег ГапонВопрос был в другом. Какие подводные камни при миграции с CHAR на VARCHAR. делали когда-то такое. За давностью лет деталей не вспомню. Наверное, это можно трактовать как "особых проблем не было" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2008, 18:01 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
> guid представляете как выглядит? Читать вопросы теперь перестало быть модным? Или удобно отвечать на то, что хочется, а не на то, о чем спросили? > Уж конечно такие аргументы - чушь полная Тупо возьмите две базы данных, где нет ничего, кроме ключей, и сравните. Будут вопросы - задавайте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2008, 18:30 |
|
||
|
Первичный ключ VARCHAR
|
|||
|---|---|---|---|
|
#18+
guest_20040621> guid представляете как выглядит? Читать вопросы теперь перестало быть модным? Или удобно отвечать на то, что хочется, а не на то, о чем спросили? > Уж конечно такие аргументы - чушь полная Тупо возьмите две базы данных, где нет ничего, кроме ключей, и сравните. Будут вопросы - задавайте. Вам уже пять человек дали свои вразумительные ответы, похоже для вас стало модным ответы не замечать. Тупо возьмите и воспользуйтесь поиском. Тема выбора типа для первичного ключа обсуждалась неоднократно. тип первичного ключа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2008, 21:43 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=109&tid=1544087]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
48ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 336ms |

| 0 / 0 |
