Секционирование: цена вопроса

Crimean
Дата: 12.09.2006 10:41:22
Кто-то озадачивался таким вопросом?

Я-то сейчас сделаю промеры, но у меня крайне тяжелый случай - таблица для секционирования содержит identity и timestamp поля, посему instead of insert, update триггер обеспечен, а на insert - еще и с курсором, иначе identity не сэмулировать

В тепличных условиях секционированная (на 60 секций) таблица + вьюва + триггер vs несекционированная таблица пока еще управляемых размеров (это неправильный тест! надо сравнивать с нуеправляемой таблицей - то есть когда индексы на нее больше размера озухи) + триггер (протоколирование операций) дает в целом приемлемую разницу, но вот в случае компиляции обращений к секционированной таблице у нас более чем 10-кратное повышение потребления ресурсов... Это пугает!..
Роман Дынник
Дата: 12.09.2006 12:46:05
автор
но вот в случае компиляции обращений к секционированной таблице у нас более чем 10-кратное повышение потребления ресурсов... Это пугает

в смысле на выборках уже снижение производительности для partitioned view по сравнению с плоской таблицей того же объема как и вся partitioned view?
Если да, то может значение поля секционирования в выборках явно не указывается???
Роман Дынник
Дата: 12.09.2006 12:57:39
потом при сравнительно небольших объемах секционирование даст только падение производительности на выборках.
Crimean
Дата: 12.09.2006 15:29:59
Первые результаты в виде CPU / Reads / Writes / Duration :

"до" 6063 / 947819 / 631 / 6250
"после" 16797 / 1086671 / 805 / 17440
в разах это 2.77 / 1.15 / 1.28 / 2.79

ищу разницу CPU... Просадка IO на 30% лично меня вполне устраивает.
BugsBunny
Дата: 12.09.2006 23:41:02
Crimean
Кто-то озадачивался таким вопросом?...


тьфу, сглазил :)

subject:MS SQL
Vlad,

have you ever heard of a function in MS SQL Server that allows it to break a table into smaller tables based on a date in the table rows? I have been told by the vendor that something like that exists and once the table had been broken into pieces MS SQL would automatically move rows from one table slice to the next as the dates changed. This was indicated to be a method by which better performance could be reached because SQL would then have less rows in a specific piece of the table to read.

Please let me know what your thoughts are on this idea. Thanks,

Mike


no comments...
Crimean
Дата: 13.09.2006 10:13:45
В общем, цену вопроса я слегка уменьшил в итоге. Отказавшись от курсора. Оказывается можно эмулировать IDENTITY и TIMESTAMP в секционированных представлениях не очень задорого. Похоже, остальные затраты идут не от модификации, а от вычиток. Не удивлюсь, если найду пару без указания критерия секционирования...