|
|
|
ase 12.5.4 Горизонтальное разбиение данных
|
|||
|---|---|---|---|
|
#18+
Всем привет. Имеем 2 большие аналитические таблицы и хотели бы данные за старые периоды перекинуть в другую таблицу, (скорее даже базу но не в этом суть). В таком случе придейтся переделывать прикладную прогу и будут глюки неизменно :( Хотелось бы знать каие выгоды ,помимо связанных с размером таблицы и бд, можем получить в противовес трудностям. Вот в руководстве по настройке производительности написано к примеру слдедующее. Горизонтальное разбиение используется в следующих случаях: Таблица имеет большой размер, и уменьшение ее размера сокращает число страниц индекса, которые считывает запрос. Тем не менее, индексы в виде В-дерева в целом имеют очень плоскую структуру, поэтому можно добавить большое число строк в таблицу с малыми ключами индекса, прежде чем B-дерево потребует дополнительных уровней. Избыточное число уровней индекса может создавать проблемы с таблицами, имеющими очень большие ключи. Как спрогнозировать на практике возможные выиграши там неособо написано. Что собой представляют те уровни, и как определить сколько их понятия неимею. Потому я бы даже не прочь поставить эксперимент и удалить такую часть строк в таблице какакую будем переносить , после чего делать тест на скорость исполнения запросов после этого( хотя неуверен что смогу сделать это тоже правильно) Где смотреть как поменялось состояния индекса в плане возможной скорости его сканирования после удаления старых данных из таблицы? И вообще, всем кто стоял перед подобными вопросами и просто знающим , котроые не прочь поделится опытом и знаниями по даной теме буду сильно благдарен за помощь и советы. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2008, 15:38 |
|
||
|
ase 12.5.4 Горизонтальное разбиение данных
|
|||
|---|---|---|---|
|
#18+
yourij_mw пишет: > Хотелось бы знать каие выгоды ,помимо связанных с размером таблицы и бд, > можем получить в противовес трудностям. А какие выгоды связаны с размером таблиц ? Я думаю - никаких доп. выгод нет. > *Горизонтальное разбиение используется в следующих случаях: > Таблица имеет большой размер, и уменьшение ее размера сокращает число > страниц индекса, которые считывает запрос. Кол-во страниц индекса (в высоту) - log от числа записей. Попробуйте посчитать, какое у вас будет уменьшение числа страниц индекса. > Как спрогнозировать на практике возможные выиграши там неособо написано. по-моему , их нет, этих выгод. Если конечно вы все свои данные не table scan-ами обрабатываете. > Где смотреть как поменялось состояния индекса в плане возможной скорости > его сканирования после удаления старых данных из таблицы? optdiag повызывайте на таблицу, до и после. Там будут высоты индексов. Только перед этим update statics сделайте. > И вообще, всем кто стоял перед подобными вопросами и просто знающим , > котроые не прочь поделится опытом и знаниями по даной теме буду сильно > благдарен за помощь и советы. Вот главный совет - не стоит это делать. Выигрыша по производительности не будет почти наверняка, а приложения, как я понимаю, переделывать надо. Ну или по крайней мере подумайте 10 раз. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2008, 15:48 |
|
||
|
ase 12.5.4 Горизонтальное разбиение данных
|
|||
|---|---|---|---|
|
#18+
MasterZiv yourij_mw пишет: > Хотелось бы знать каие выгоды ,помимо связанных с размером таблицы и бд, > можем получить в противовес трудностям. А какие выгоды связаны с размером таблиц ? Я думаю - никаких доп. выгод нет. ну я dbcc, reorg имел ввиду. MasterZiv Кол-во страниц индекса (в высоту) - log от числа записей. Попробуйте посчитать, какое у вас будет уменьшение числа страниц индекса. в математике несилён, но суть понял . Правда именно "посчитать" то не по моим силам. А селективность индекса , размер, количество ключей могут как-то влиять значимым образом, с учетом нашей проблемы? MasterZiv > Как спрогнозировать на практике возможные выиграши там неособо написано. по-моему , их нет, этих выгод. Если конечно вы все свои данные не table scan-ами обрабатываете. да не , это было бы почти нереально. Optdiag буду смотреть, впервые правда. А за главный совет отдельное спасибо, вот уже 1 раз подумал:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2008, 17:44 |
|
||
|
ase 12.5.4 Горизонтальное разбиение данных
|
|||
|---|---|---|---|
|
#18+
yourij_mw пишет: > в математике несилён, но суть понял . Правда именно "посчитать" то не по > моим силам. Было N записей в таблице, после отделения станет n (N>n). Выигрыш в скорости будет log(n) / log(N) раз. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2008, 18:18 |
|
||
|
|

start [/forum/topic.php?fid=55&fpage=49&tid=2011471]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
30ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 294ms |

| 0 / 0 |
