|
Можно ли обойти ограничение длинны строки в таблице в 8094 bytes?
|
|||
---|---|---|---|
#18+
Всем привет, есть 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? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2021, 10:05 |
|
Можно ли обойти ограничение длинны строки в таблице в 8094 bytes?
|
|||
---|---|---|---|
#18+
teCa, Очень большим количеством столбцов - это сколько? И какие типы данных? А вообще sparse columns, если так уж неймется хранить все это в одной таблице. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2021, 10:17 |
|
Можно ли обойти ограничение длинны строки в таблице в 8094 bytes?
|
|||
---|---|---|---|
#18+
teCa, Код: sql 1. 2.
? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2021, 11:42 |
|
Можно ли обойти ограничение длинны строки в таблице в 8094 bytes?
|
|||
---|---|---|---|
#18+
teCa, две таблицы они не могут создать из религиозных побуждений, что ли? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2021, 11:50 |
|
Можно ли обойти ограничение длинны строки в таблице в 8094 bytes?
|
|||
---|---|---|---|
#18+
Владислав Колосов teCa, две таблицы они не могут создать из религиозных побуждений, что ли? Ну они подошли с вопросом, есть ли возможность обойти это ограничение или изменить в конфигах сервера, я объяснил, что это ограничение создано для того, что-бы не вредить производительности, одна строка - одна страница, на что получил ответ, что на другом сервере этот код работает, на другом стоит 2019ст. Вот и хочется разобраться. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2021, 12:50 |
|
Можно ли обойти ограничение длинны строки в таблице в 8094 bytes?
|
|||
---|---|---|---|
#18+
teCa что на другом сервере этот код работает, на другом стоит 2019ст. Вот и хочется разобраться. Свежо преданье - верится с трудом. Ничо так фундаментально в MS SQL не меняли. Ограничение на размер строки во всех версиях сервера одинаково. Сравнивайте кляузы создания таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2021, 13:13 |
|
Можно ли обойти ограничение длинны строки в таблице в 8094 bytes?
|
|||
---|---|---|---|
#18+
Valery_B, проблема не в длине строки поля NVARCHAR, оно при MAX может быть 2гб, а в размере записи в самой субд. речь про строку в файловой таблице, так как количество колонок очень большое, размер строк при этом значения не имеет. я не уверен, пусть местные гуру скажу, NVARCHAR(MAX) хранится в таблице по ссылке? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2021, 14:35 |
|
Можно ли обойти ограничение длинны строки в таблице в 8094 bytes?
|
|||
---|---|---|---|
#18+
Пообщался с разработчиками, они пытаются запихнуть в таблицу 200 полей, тип поля INT, как говорят, но 2019 у них есть подобное решение, где в таблице 400 полей, тоже типа INT. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2021, 15:01 |
|
Можно ли обойти ограничение длинны строки в таблице в 8094 bytes?
|
|||
---|---|---|---|
#18+
teCa Пообщался с разработчиками, они пытаются запихнуть в таблицу 200 полей, тип поля INT, как говорят, но 2019 у них есть подобное решение, где в таблице 400 полей, тоже типа INT. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2021, 15:04 |
|
Можно ли обойти ограничение длинны строки в таблице в 8094 bytes?
|
|||
---|---|---|---|
#18+
Вообще для всех классических DBMS (Oracle/MSSQL e.t.c.) КПД чтения (fetch) таблицы падает с увеличением числа строк. Это особенно заметно когда декларировано 200 колонок а юзается только 100 например. Делайте конешно. Но действительно ли все 200 штук всегда участвуют в fetch операциях? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2021, 16:05 |
|
Можно ли обойти ограничение длинны строки в таблице в 8094 bytes?
|
|||
---|---|---|---|
#18+
Ну... Чисто теоретически, если речь идет о DWH - то почему б и нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2021, 16:30 |
|
Можно ли обойти ограничение длинны строки в таблице в 8094 bytes?
|
|||
---|---|---|---|
#18+
Так пусть сервер проапгрейдят, если такие умные. Это называется "вертикальное секционирование", надо сделать две таблицы 1 к 1 и к ним представление. Заполнять в два этапа потребуется, разумеется. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2021, 17:13 |
|
Можно ли обойти ограничение длинны строки в таблице в 8094 bytes?
|
|||
---|---|---|---|
#18+
Гавриленко Сергей Алексеевич teCa Пообщался с разработчиками, они пытаются запихнуть в таблицу 200 полей, тип поля INT, как говорят, но 2019 у них есть подобное решение, где в таблице 400 полей, тоже типа INT. Если это DWH, то читать надо дедушку Кимбалла. Самое краткое здесь. https://en.wikipedia.org/wiki/Dimensional_modeling ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 12:41 |
|
|
start [/forum/topic.php?fid=46&msg=40060609&tid=1684839]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 325ms |
total: | 461ms |
0 / 0 |