|
Господа секционоиды! Нужен совет
|
|||
---|---|---|---|
#18+
Перед переходом на боевую базу играюсь на "ленточной" Имею Код: plaintext
Имею секционированную таблицу Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Во второй секции данные имеют значения в поле секционирования: Код: plaintext 1. 2. 3. 4.
В таблице бОльших значений чем 80503 нету Код: plaintext 1. 2.
Партишион схема выглядит так Код: plaintext
При попытке выполнения Код: plaintext 1.
начинаются раздумья, невероятный рост лога (съедается все что есть). Заканчивается ролбэком. В чем грабли? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2008, 14:59 |
|
Господа секционоиды! Нужен совет
|
|||
---|---|---|---|
#18+
Пробую "поднять" тему. С моей точки зрения SPLIT должен изменить только метаданные, т.е. операция должна быть мгновенной, а занимает более 6 часов. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2008, 17:53 |
|
Господа секционоиды! Нужен совет
|
|||
---|---|---|---|
#18+
извините, что поднимаю старую тему, но действительно хотелось бы понять процесс. Что же всё таки "физически" происходит когда делаешь: Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2010, 10:44 |
|
Господа секционоиды! Нужен совет
|
|||
---|---|---|---|
#18+
Vitaly86извините, что поднимаю старую тему, но действительно хотелось бы понять процесс. Что же всё таки "физически" происходит когда делаешь: Код: plaintext 1.
В новую партицию перегоняются данные. http://www.mssqltips.com/tip.asp?tip=1914 Myth 6: Altering a partition function is a metadata only operation In practice you may find out that a MERGE or SPLIT operation may take much much longer than the few seconds expected. Altering a partition function is an offline operation and can also result in movement of data on disk and so become extremely resource intensive. ... To avoid or minimize data movement when SPLITing a partition function always ensure that you know beforehand how many rows are in the underlying partition that is being SPLIT and how many rows would fall on each side of the new boundary. Armed with this information you should be able to determine beforehand the amount of data movement to expect depending on whether you have defined your partition function using RANGE RIGHT or LEFT. ... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2010, 22:12 |
|
Господа секционоиды! Нужен совет
|
|||
---|---|---|---|
#18+
Подниму эту старую тему, Эксперементировал с партициями по 10 миллионов записей на тестовой бд но уже на SQL server 2019. Попал на такую же ситуацию была функция Код: sql 1.
Заполнил данные диапазона >= 2560000000 значениями меньшими 2590000000. При попытки сделать Код: sql 1.
начинается огромный рост лога и перемещение данных. Получается последний диапазон какой то магический даже если split делаешь за границей реальных данных она всеравно занимается перемещениями строк. Если бы после >= 2560000000 ничего не было, диапазон разбился бы быстро Вопрос : Есть ли в SQL 2019 возможность избежать такой ситуации? Или последний дипазон не считается партицией? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2021, 14:26 |
|
Господа секционоиды! Нужен совет
|
|||
---|---|---|---|
#18+
Вот, обсуждали недавно: https://www.sql.ru/forum/1336078/dobavlenie-novogo-diapazona-sekcianirovaniya-alter-partition-function ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2021, 14:29 |
|
Господа секционоиды! Нужен совет
|
|||
---|---|---|---|
#18+
selis76 начинается огромный рост лога и перемещение данных. Это бывает, когда сделаны разные файловые группы для диапазонов. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2021, 14:31 |
|
Господа секционоиды! Нужен совет
|
|||
---|---|---|---|
#18+
selis76 Подниму эту старую тему, Эксперементировал с партициями по 10 миллионов записей на тестовой бд но уже на SQL server 2019. Попал на такую же ситуацию была функция Код: sql 1.
Заполнил данные диапазона >= 2560000000 значениями меньшими 2590000000. При попытки сделать Код: sql 1.
начинается огромный рост лога и перемещение данных. Получается последний диапазон какой то магический даже если split делаешь за границей реальных данных она всеравно занимается перемещениями строк. Если бы после >= 2560000000 ничего не было, диапазон разбился бы быстро Вопрос : Есть ли в SQL 2019 возможность избежать такой ситуации? Или последний дипазон не считается партицией? То, какая из "половинок" диапазона при сплите станет новой партицией а какая останется текущей зависит от вот этого свойства Код: sql 1.
Замените ее на RIGHT и попробуйте еще раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2021, 14:32 |
|
|
start [/forum/topic.php?fid=46&msg=40073809&tid=1684657]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 128ms |
0 / 0 |