|
Когда в ms sql появится свой mediumint ?
|
|||
---|---|---|---|
#18+
Владислав Колосов Гавриленко Сергей Алексеевич, а в процентном соотношении какой over? Поддерживаю вопрос! ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2021, 11:47 |
|
Когда в ms sql появится свой mediumint ?
|
|||
---|---|---|---|
#18+
alexeyvg Поэтому нужен не Int3 или Int7, а VarInt, который бы занимал подходящее количество бит под лежащее там значение. Записали туда 127, выделилось 8 бит, прибавили 1, опа, уже под поле в этой конкретной записи выделено 9 бит. Ну с точки зрения удобства проектирования и написания кода, это безусловно так. Вопрос лишь в том, чтобы поиск был быстрым, потому как повторюсь в первую очередь целочисленные типы нужны для внутренних целей БД, а не для полезной информации. Подозреваю, хотя могу ошибаться, что внутри движка реализованы разные алгоритмы для сопоставления, поиска, индексации и прочей работы для имеющихся целочисленных типов. Оптимизированные под их длину. Соответственно, если это так, то варинт не пойдёт для ссылочности. Для хранения полезной инфы, но не для внутренних целей. Если же алгоритм для всех целочисленных типов один, то мысль интересная. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2021, 12:13 |
|
Когда в ms sql появится свой mediumint ?
|
|||
---|---|---|---|
#18+
Кесарь P.S. Более того! Sql server вообще-то умеет (умеет, когда захочет, что называется) хранить данные побитово. И ничто не мешает сделать типы данных с размером в 1.5 и 2.5 байт. Т.е. в 12 и 20 бит. Если такие типы данных ограничить только положительными значениями, то они были бы очень хороши для идентификаторов справочников (12 бит = 0 - 4095) или иных бизнес-сущностей (20 бит = 0 - 1 048 575). лет 10 назад был такой прикол "А почему в Экселе нельзя сделать больше 255 колонок" "а чтобы особо умные не делали таблички с днями года в колонках" Неужто кто-то сейчас выгадывает байты при проектировании промышленных систем? Экономия аж 20-30 байт на ключе элемента справочника и пары терабайт на базе вылезет в ужаснейший гемор когда ваш запланированных список бизнесущностей на 20 бит вдруг вылезет за, казалось бы, такие широкие пределы. Аж мульон! Разве может быть в номенклатуре продукции быть более мульона наименований? "сарказм" ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2021, 14:46 |
|
Когда в ms sql появится свой mediumint ?
|
|||
---|---|---|---|
#18+
sergeyns Неужто кто-то сейчас выгадывает байты при проектировании промышленных систем? Представьте себе да. Если у вас склад промпредприятия, то это не так заметно. А вот если у вас процессинговая система крупного банка или интернет-магазина, то кол-во данных, которое проходит через систему, огромно. Речь не о дисковом пространстве, а о нагрузке. Экономия аж 20-30 байт на ключе элемента справочника и пары терабайт на базе вылезет в ужаснейший гемор когда ваш запланированных список бизнесущностей на 20 бит вдруг вылезет за, казалось бы, такие широкие пределы. Аж мульон! Разве может быть в номенклатуре продукции быть более мульона наименований? "сарказм" Проектировать надо с учётом области работы, только и всего. С пониманием, что делаешь. Каждая позиция номенклатуры - это экземпляр типа, а не тип. Соответственно под это больше. А вот кол-во типов сущностей намного меньше по определлению. И таблица, в которой хранятся экземпляры, определённо будет меньше, если ссылка на тип будет не бигинт, а медиуминт2. Item (ID bigint PK, TypeID mediumint2 FK, ...) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2021, 14:59 |
|
Когда в ms sql появится свой mediumint ?
|
|||
---|---|---|---|
#18+
Кесарь sergeyns Неужто кто-то сейчас выгадывает байты при проектировании промышленных систем? Представьте себе да. Если у вас склад промпредприятия, то это не так заметно. А вот если у вас процессинговая система крупного банка или интернет-магазина, то кол-во данных, которое проходит через систему, огромно. Речь не о дисковом пространстве, а о нагрузке. Расскажите это любителям микросервисов, REST api между ними и прочей xml нечисти! ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2021, 16:03 |
|
|
start [/forum/topic.php?fid=46&msg=40075375&tid=1684640]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
136ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 297ms |
total: | 516ms |
0 / 0 |