powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Можно ли обойти ограничение длинны строки в таблице в 8094 bytes?
13 сообщений из 13, страница 1 из 1
Можно ли обойти ограничение длинны строки в таблице в 8094 bytes?
    #40060606
teCa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет, есть SQL Server 2017 Std, разработчикам требуется создать таблицу с большим количеством с столбцов. Собственно с этим возникает проблема:

авторСообщение 1701, уровень 16, состояние 1, строка 2
Creating or altering table 'FakeWorkTable' failed because the minimum row size would be 9519, including 201 bytes of internal overhead. This exceeds the maximum allowable table row size of 8094 bytes.
Сообщение 8630, уровень 17, состояние 48, строка 2
Internal Query Processor Error: The query processor encountered an unexpected error during execution (HRESULT = 0x80004005).

При этом, на версии 2019 всё хорошо. Можно ли увеличить ограничение в 8094 bytes?
...
Рейтинг: 0 / 0
Можно ли обойти ограничение длинны строки в таблице в 8094 bytes?
    #40060609
Фотография Ennor Tiegael
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
teCa,

Очень большим количеством столбцов - это сколько? И какие типы данных?

А вообще sparse columns, если так уж неймется хранить все это в одной таблице.
...
Рейтинг: 0 / 0
Можно ли обойти ограничение длинны строки в таблице в 8094 bytes?
    #40060634
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
teCa,

Код: sql
1.
2.
ALTER TABLE FakeWorkTable
ADD Trash VARCHAR(MAX)


?
...
Рейтинг: 0 / 0
Можно ли обойти ограничение длинны строки в таблице в 8094 bytes?
    #40060639
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
teCa,

две таблицы они не могут создать из религиозных побуждений, что ли?
...
Рейтинг: 0 / 0
Можно ли обойти ограничение длинны строки в таблице в 8094 bytes?
    #40060656
teCa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
teCa,

две таблицы они не могут создать из религиозных побуждений, что ли?


Ну они подошли с вопросом, есть ли возможность обойти это ограничение или изменить в конфигах сервера, я объяснил, что это ограничение создано для того, что-бы не вредить производительности, одна строка - одна страница, на что получил ответ, что на другом сервере этот код работает, на другом стоит 2019ст. Вот и хочется разобраться.
...
Рейтинг: 0 / 0
Можно ли обойти ограничение длинны строки в таблице в 8094 bytes?
    #40060673
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
teCa
что на другом сервере этот код работает, на другом стоит 2019ст. Вот и хочется разобраться.


Свежо преданье - верится с трудом.
Ничо так фундаментально в MS SQL не меняли.
Ограничение на размер строки во всех версиях сервера одинаково.
Сравнивайте кляузы создания таблицы.
...
Рейтинг: 0 / 0
Можно ли обойти ограничение длинны строки в таблице в 8094 bytes?
    #40060715
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_B,

проблема не в длине строки поля NVARCHAR, оно при MAX может быть 2гб, а в размере записи в самой субд.
речь про строку в файловой таблице, так как количество колонок очень большое, размер строк при этом значения не имеет.
я не уверен, пусть местные гуру скажу, NVARCHAR(MAX) хранится в таблице по ссылке?
...
Рейтинг: 0 / 0
Можно ли обойти ограничение длинны строки в таблице в 8094 bytes?
    #40060730
teCa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пообщался с разработчиками, они пытаются запихнуть в таблицу 200 полей, тип поля INT, как говорят, но 2019 у них есть подобное решение, где в таблице 400 полей, тоже типа INT.
...
Рейтинг: 0 / 0
Можно ли обойти ограничение длинны строки в таблице в 8094 bytes?
    #40060731
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
teCa
Пообщался с разработчиками, они пытаются запихнуть в таблицу 200 полей, тип поля INT, как говорят, но 2019 у них есть подобное решение, где в таблице 400 полей, тоже типа INT.
Расскажите им про нормальные формы, что ли...
...
Рейтинг: 0 / 0
Можно ли обойти ограничение длинны строки в таблице в 8094 bytes?
    #40060761
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще для всех классических DBMS (Oracle/MSSQL e.t.c.) КПД чтения (fetch) таблицы падает с увеличением числа строк.
Это особенно заметно когда декларировано 200 колонок а юзается только 100 например.

Делайте конешно. Но действительно ли все 200 штук всегда участвуют в fetch операциях?
...
Рейтинг: 0 / 0
Можно ли обойти ограничение длинны строки в таблице в 8094 bytes?
    #40060769
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну... Чисто теоретически, если речь идет о DWH - то почему б и нет?
...
Рейтинг: 0 / 0
Можно ли обойти ограничение длинны строки в таблице в 8094 bytes?
    #40060782
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так пусть сервер проапгрейдят, если такие умные.
Это называется "вертикальное секционирование", надо сделать две таблицы 1 к 1 и к ним представление. Заполнять в два этапа потребуется, разумеется.
...
Рейтинг: 0 / 0
Можно ли обойти ограничение длинны строки в таблице в 8094 bytes?
    #40060977
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевич
teCa
Пообщался с разработчиками, они пытаются запихнуть в таблицу 200 полей, тип поля INT, как говорят, но 2019 у них есть подобное решение, где в таблице 400 полей, тоже типа INT.
Расскажите им про нормальные формы, что ли...


Если это DWH, то читать надо дедушку Кимбалла. Самое краткое здесь.

https://en.wikipedia.org/wiki/Dimensional_modeling
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Можно ли обойти ограничение длинны строки в таблице в 8094 bytes?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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