powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Первичный ключ VARCHAR
25 сообщений из 63, страница 1 из 3
Первичный ключ VARCHAR
    #35042210
Олег Гапон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первичный ключ VARCHAR. Могут ли быть какие нибудь подводные камни ?
...
Рейтинг: 0 / 0
Первичный ключ VARCHAR
    #35042237
MySQLCraft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На больших таблицах будут тормоза из-за переменной длины данных и большого объема индекса.
...
Рейтинг: 0 / 0
Первичный ключ VARCHAR
    #35042244
andbary
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А с какой целью он ставится?
...
Рейтинг: 0 / 0
Первичный ключ VARCHAR
    #35042264
Олег Гапон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andbaryА с какой целью он ставится?

Да что то мне CHAR не нравиться с его фиксированной длиной..завершающие пробелы нужно рубить...
...
Рейтинг: 0 / 0
Первичный ключ VARCHAR
    #35042293
Фотография Ennor Tiegael
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А... кластерный индекс - там же?
...
Рейтинг: 0 / 0
Первичный ключ VARCHAR
    #35042301
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Первичный ключ VARCHAR

Очень старался, но ничего тупее придумать не смог. :(
...
Рейтинг: 0 / 0
Первичный ключ VARCHAR
    #35042309
Олег Гапон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621Очень старался, но ничего тупее придумать не смог

Очень обширный и исчерпывающий ответ.
Большое спасибо.
...
Рейтинг: 0 / 0
Первичный ключ VARCHAR
    #35042320
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Большое спасибо.

Большое на здоровье. Читать - видимо, не слишком актуальный совет. Наймите нормального архитектора. Сэкономите и себе, и окружающим кучу времени.
...
Рейтинг: 0 / 0
Первичный ключ VARCHAR
    #35042329
Олег Гапон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и не надейтесь
...
Рейтинг: 0 / 0
Первичный ключ VARCHAR
    #35042331
Олег Гапон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тоесть использование VARCHAR в качестве первичного ключа вполне приемлимо, для таблиц с небольшим количеством данных. Всё остально ересь.
...
Рейтинг: 0 / 0
Первичный ключ VARCHAR
    #35042344
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Олег Гапон wrote:
> Тоесть использование VARCHAR в качестве первичного ключа вполне
> приемлимо, для таблиц с небольшим количеством данных. Всё остально ересь.
с большим к-вом данных - тоже приемлимо.
зависит от.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Первичный ключ VARCHAR
    #35042348
Олег Гапон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
locky
....зависит от.

чего ?
...
Рейтинг: 0 / 0
Первичный ключ VARCHAR
    #35042479
Paul Sacks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Советую перепроектировать БД. С ростом объемов данных будете иметь проблемы (проверено опытом).
...
Рейтинг: 0 / 0
Первичный ключ VARCHAR
    #35042499
Олег Гапон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас как раз используеться CHAR как первичный ключ в 3 таблицах из 250, но что то мне CHAR перестал нравиться...
Так что перепроектировать как раз ничего не надо...просто были разные мысли...
...
Рейтинг: 0 / 0
Первичный ключ VARCHAR
    #35043402
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Олег Гапон wrote:
> ....зависит от.
>
> чего ?
От необходимости и опрадванности данного подхода.
вполне можно себе представить задачу, в которой ПК и впрямь должен быть
строковый (или, другими словами - где строковый ПК наиболее оправдан).
В противовес этому можно привести довольно много случаев из практики,
где строковый ПК являлся откровенной лажей и ошибкой проектировки.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Первичный ключ VARCHAR
    #35043679
Олег Гапон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первичный ключ строковый - это даже не обсуждается.

Вопрос был в другом.

Какие подводные камни при миграции с CHAR на VARCHAR.

Поскольку в таблицах (а их предположительно будет всего три) планируеться малое количество строчек (порядка 100) и это количество в течении 5-10 лет увеличится максимум в три раза и данные таблицы будут малоиспользуемыми, то VARCHAR в качестве первичного ключа в ДАННОМ КОНКРЕТНОМ случае проблем никаких не представляет.
...
Рейтинг: 0 / 0
Первичный ключ VARCHAR
    #35050320
andbary
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В данном случае действительно никаких. Сам, в свое время, использовал в унаследованной системе именно такой тип данных (на приличных объемах).
Но я бы ввел в эти таблицы, что нибудь типа "счетчика", вдруг да пригодится...
...
Рейтинг: 0 / 0
Первичный ключ VARCHAR
    #35050714
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Олег ГапонТоесть использование 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 на больших объемах данных - это миф.
...
Рейтинг: 0 / 0
Первичный ключ VARCHAR
    #35050798
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> В oracle нет встроенного типа GUID

Как это связано с varchar, можно поинтересоваться? И как это связано с varchar(36)?

> То что будут какие-либо большие тормоза и нерешаемые проблемы при использовании varchar
> в pk на больших объемах данных - это миф

Да конечно, какая фигня: ключи + ссылки будут занимать всего в десять раз больше места. Нужно просто купить молоток побольше.
...
Рейтинг: 0 / 0
Первичный ключ VARCHAR
    #35050893
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621
> В oracle нет встроенного типа GUID
Как это связано с varchar, можно поинтересоваться? И как это связано с varchar(36)?

guid представляете как выглядит? или в глаза не видели никогда?
guest_20040621
Да конечно, какая фигня: ключи + ссылки будут занимать всего в десять раз больше места. Нужно просто купить молоток побольше.
Вы не из 80-х годов случайно, что вас так объемы заботят? или может на dbf-ах сидите?
Уж конечно такие аргументы - чушь полная.
...
Рейтинг: 0 / 0
Первичный ключ VARCHAR
    #35050926
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621Да конечно, какая фигня: ключи + ссылки будут занимать всего в десять раз больше места. Нужно просто купить молоток побольше.С чего они будут занимать в десять раз больше места??? Может быть, в 1.5 раза? В 2 раза?

Если у таблицы с средним весом записи в 100 или 1000 байт ключ займёт не 4 байта, а 10 - это катострафически скажется на производительности?

Не говоря уже о том, что решение о наборе ключей и их типе должно приниматься скорее от потребностей бизнеса, а не от занимаемого места.
...
Рейтинг: 0 / 0
Первичный ключ VARCHAR
    #35051015
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Олег Гапон пишет:
> Первичный ключ VARCHAR. Могут ли быть какие нибудь подводные камни ?

В отрыве от конкретики СУБД об этом говорить бессмысленно.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Первичный ключ VARCHAR
    #35051024
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Олег ГапонВопрос был в другом.

Какие подводные камни при миграции с CHAR на VARCHAR. делали когда-то такое. За давностью лет деталей не вспомню. Наверное, это можно трактовать как "особых проблем не было"
...
Рейтинг: 0 / 0
Первичный ключ VARCHAR
    #35051099
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> guid представляете как выглядит?

Читать вопросы теперь перестало быть модным? Или удобно отвечать на то, что хочется, а не на то, о чем спросили?

> Уж конечно такие аргументы - чушь полная

Тупо возьмите две базы данных, где нет ничего, кроме ключей, и сравните. Будут вопросы - задавайте.
...
Рейтинг: 0 / 0
Первичный ключ VARCHAR
    #35051405
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621> guid представляете как выглядит?

Читать вопросы теперь перестало быть модным? Или удобно отвечать на то, что хочется, а не на то, о чем спросили?

> Уж конечно такие аргументы - чушь полная

Тупо возьмите две базы данных, где нет ничего, кроме ключей, и сравните. Будут вопросы - задавайте.
Вам уже пять человек дали свои вразумительные ответы, похоже для вас стало модным ответы не замечать. Тупо возьмите и воспользуйтесь поиском. Тема выбора типа для первичного ключа обсуждалась неоднократно.
тип первичного ключа
...
Рейтинг: 0 / 0
25 сообщений из 63, страница 1 из 3
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Первичный ключ VARCHAR
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]