powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Когда в ms sql появится свой mediumint ?
5 сообщений из 30, страница 2 из 2
Когда в ms sql появится свой mediumint ?
    #40075375
Кесарь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
Гавриленко Сергей Алексеевич,

а в процентном соотношении какой over?


Поддерживаю вопрос!
...
Рейтинг: 0 / 0
Когда в ms sql появится свой mediumint ?
    #40075383
Кесарь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg
Поэтому нужен не Int3 или Int7, а VarInt, который бы занимал подходящее количество бит под лежащее там значение.
Записали туда 127, выделилось 8 бит, прибавили 1, опа, уже под поле в этой конкретной записи выделено 9 бит.


Ну с точки зрения удобства проектирования и написания кода, это безусловно так. Вопрос лишь в том, чтобы поиск был быстрым, потому как повторюсь в первую очередь целочисленные типы нужны для внутренних целей БД, а не для полезной информации.


Подозреваю, хотя могу ошибаться, что внутри движка реализованы разные алгоритмы для сопоставления, поиска, индексации и прочей работы для имеющихся целочисленных типов. Оптимизированные под их длину.

Соответственно, если это так, то варинт не пойдёт для ссылочности. Для хранения полезной инфы, но не для внутренних целей.


Если же алгоритм для всех целочисленных типов один, то мысль интересная.
...
Рейтинг: 0 / 0
Когда в ms sql появится свой mediumint ?
    #40075425
sergeyns
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кесарь


P.S. Более того! Sql server вообще-то умеет (умеет, когда захочет, что называется) хранить данные побитово. И ничто не мешает сделать типы данных с размером в 1.5 и 2.5 байт. Т.е. в 12 и 20 бит. Если такие типы данных ограничить только положительными значениями, то они были бы очень хороши для идентификаторов справочников (12 бит = 0 - 4095) или иных бизнес-сущностей (20 бит = 0 - 1 048 575).


лет 10 назад был такой прикол
"А почему в Экселе нельзя сделать больше 255 колонок"
"а чтобы особо умные не делали таблички с днями года в колонках"

Неужто кто-то сейчас выгадывает байты при проектировании промышленных систем? Экономия аж 20-30 байт на ключе элемента справочника и пары терабайт на базе вылезет в ужаснейший гемор когда ваш запланированных список бизнесущностей на 20 бит вдруг вылезет за, казалось бы, такие широкие пределы. Аж мульон! Разве может быть в номенклатуре продукции быть более мульона наименований? "сарказм"
...
Рейтинг: 0 / 0
Когда в ms sql появится свой mediumint ?
    #40075428
Кесарь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergeyns
Неужто кто-то сейчас выгадывает байты при проектировании промышленных систем?


Представьте себе да. Если у вас склад промпредприятия, то это не так заметно. А вот если у вас процессинговая система крупного банка или интернет-магазина, то кол-во данных, которое проходит через систему, огромно. Речь не о дисковом пространстве, а о нагрузке.


Экономия аж 20-30 байт на ключе элемента справочника и пары терабайт на базе вылезет в ужаснейший гемор когда ваш запланированных список бизнесущностей на 20 бит вдруг вылезет за, казалось бы, такие широкие пределы. Аж мульон! Разве может быть в номенклатуре продукции быть более мульона наименований? "сарказм"

Проектировать надо с учётом области работы, только и всего. С пониманием, что делаешь. Каждая позиция номенклатуры - это экземпляр типа, а не тип. Соответственно под это больше. А вот кол-во типов сущностей намного меньше по определлению. И таблица, в которой хранятся экземпляры, определённо будет меньше, если ссылка на тип будет не бигинт, а медиуминт2.

Item (ID bigint PK, TypeID mediumint2 FK, ...)
...
Рейтинг: 0 / 0
Когда в ms sql появится свой mediumint ?
    #40075448
sergeyns
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кесарь
sergeyns
Неужто кто-то сейчас выгадывает байты при проектировании промышленных систем?


Представьте себе да. Если у вас склад промпредприятия, то это не так заметно. А вот если у вас процессинговая система крупного банка или интернет-магазина, то кол-во данных, которое проходит через систему, огромно. Речь не о дисковом пространстве, а о нагрузке.


Расскажите это любителям микросервисов, REST api между ними и прочей xml нечисти!
...
Рейтинг: 0 / 0
5 сообщений из 30, страница 2 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Когда в ms sql появится свой mediumint ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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