Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / bigint или nvarchar для поля с индексом / 18 сообщений из 18, страница 1 из 1
26.12.2017, 13:20
    #39576055
наутилус
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bigint или nvarchar для поля с индексом
Здравствуйте!

будет ли разница в быстроте поиска по полю bigint и nvarchar, если это поле будет индексированное?
(длинна nvarchar будет ограничена, не max)

-
Чудеса случаются. Это Вам любой программист скажет.
...
Рейтинг: 0 / 0
26.12.2017, 13:22
    #39576059
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bigint или nvarchar для поля с индексом
наутилус, Вы про коня в вакууме слышали?
...
Рейтинг: 0 / 0
26.12.2017, 13:23
    #39576061
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bigint или nvarchar для поля с индексом
наутилус,

разница в длинне, если не ошибаюсь разница в сравнении значений, и главный вопрос зачем если можно в int?
...
Рейтинг: 0 / 0
26.12.2017, 13:29
    #39576070
лолл
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bigint или nvarchar для поля с индексом
наутилус,

Сильно зависит от правил сравнения и размерности. Бинарное, например, довольно быстро работает
...
Рейтинг: 0 / 0
26.12.2017, 13:52
    #39576093
Cammomile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bigint или nvarchar для поля с индексом
TaPaK, несколько лет назад в одном большом российском холдинге инты кончились.

То-то "смеху" было, пока все ключи на бигинты переводили.
...
Рейтинг: 0 / 0
26.12.2017, 13:55
    #39576097
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bigint или nvarchar для поля с индексом
CammomileTaPaK, несколько лет назад в одном большом российском холдинге инты кончились.

То-то "смеху" было, пока все ключи на бигинты переводили.
int вообще часто кончаются, то просто не дописанная фраза bigint, если выбирать между ними, то как бы и выбора нет :)
...
Рейтинг: 0 / 0
26.12.2017, 14:02
    #39576104
ptr128
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bigint или nvarchar для поля с индексом
наутилусЗдравствуйте!

будет ли разница в быстроте поиска по полю bigint и nvarchar, если это поле будет индексированное?
(длинна nvarchar будет ограничена, не max)

Результирующий B-Tree, в зависимости от значений этих полей, может быть очень разным.
Например, поэтому, приходилось как-то тот же bigint использовать в формате YYMMDDXXXXXXXXXXXXX, где YYMMDD - дата, а XXXXXXXXXXXXX - уже значение счетчика на эту дату.
...
Рейтинг: 0 / 0
26.12.2017, 14:11
    #39576118
наутилус
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bigint или nvarchar для поля с индексом
buser,

про коня слышал ) можно и мне теоретически ответить ))
...
Рейтинг: 0 / 0
26.12.2017, 14:18
    #39576126
наутилус
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bigint или nvarchar для поля с индексом
TaPaKнаутилус,

разница в длинне, если не ошибаюсь разница в сравнении значений, и главный вопрос зачем если можно в int?
есть значение - число. при запросе с фронта число преобразовывается в строку и далее фронт оперирует этой строкой (делает по ней запросы из базы)
так вот вопрос в скорости, что будет быстрее:
1) храним бигинт, на беке преобразовываем строку с фронта в бигинт, делаем запрос по индексированому числовому полю
2) храним уже преобразованную строку и выборку делаем по индексированому строковому полю

что бы вы выбрали?
...
Рейтинг: 0 / 0
26.12.2017, 14:23
    #39576135
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bigint или nvarchar для поля с индексом
наутилус,

а зачем такие танцы на фронте? ну и в любом случае int/bigint в базе
...
Рейтинг: 0 / 0
26.12.2017, 14:26
    #39576139
наутилус
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bigint или nvarchar для поля с индексом
TaPaK,

ок, услышал. спасибо! )
...
Рейтинг: 0 / 0
26.12.2017, 15:51
    #39576222
Гигабайт Мегабайтович Килобайтов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bigint или nvarchar для поля с индексом
наутилусTaPaKнаутилус,

разница в длинне, если не ошибаюсь разница в сравнении значений, и главный вопрос зачем если можно в int?
есть значение - число. при запросе с фронта число преобразовывается в строку и далее фронт оперирует этой строкой (делает по ней запросы из базы)
так вот вопрос в скорости, что будет быстрее:
1) храним бигинт, на беке преобразовываем строку с фронта в бигинт, делаем запрос по индексированому числовому полю
2) храним уже преобразованную строку и выборку делаем по индексированому строковому полю

что бы вы выбрали?
а какие операции сравнения возможны с этими данными? ))
...
Рейтинг: 0 / 0
26.12.2017, 16:02
    #39576231
наутилус
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bigint или nvarchar для поля с индексом
Гигабайт Мегабайтович Килобайтова какие операции сравнения возможны с этими данными? ))
по задумке только "=", т.е. получения данных по полному совпадению ключа
...
Рейтинг: 0 / 0
26.12.2017, 16:35
    #39576265
Гигабайт Мегабайтович Килобайтов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bigint или nvarchar для поля с индексом
наутилусГигабайт Мегабайтович Килобайтова какие операции сравнения возможны с этими данными? ))
по задумке только "=", т.е. получения данных по полному совпадению ключа
таки "по задумке" или уже прописаны кейсы?
...
Рейтинг: 0 / 0
26.12.2017, 16:39
    #39576268
наутилус
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bigint или nvarchar для поля с индексом
Гигабайт Мегабайтович Килобайтов,

получение записи по ключу. единственный кейс
...
Рейтинг: 0 / 0
26.12.2017, 16:59
    #39576289
Гигабайт Мегабайтович Килобайтов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bigint или nvarchar для поля с индексом
наутилусГигабайт Мегабайтович Килобайтов,

получение записи по ключу. единственный кейс
тадысь если nvarchar (fix) то без разницы.
тока если это поле не будет PK , там есть нюансы. И их тоже надо будет учитывать.
...
Рейтинг: 0 / 0
26.12.2017, 17:36
    #39576320
наутилус
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bigint или nvarchar для поля с индексом
Гигабайт Мегабайтович КилобайтовнаутилусГигабайт Мегабайтович Килобайтов,

получение записи по ключу. единственный кейс
тадысь если nvarchar (fix) то без разницы.
тока если это поле не будет PK , там есть нюансы. И их тоже надо будет учитывать.
это поле не РК, а какие нюансы?
...
Рейтинг: 0 / 0
26.12.2017, 17:43
    #39576332
Гигабайт Мегабайтович Килобайтов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bigint или nvarchar для поля с индексом
наутилусГигабайт Мегабайтович Килобайтовпропущено...

тадысь если nvarchar (fix) то без разницы.
тока если это поле не будет PK , там есть нюансы. И их тоже надо будет учитывать.
это поле не РК, а какие нюансы?
таки вставка и удаление . Но если не PK то и не заморачивайтесь.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / bigint или nvarchar для поля с индексом / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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