
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
15.07.2008, 18:53
|
|||
|---|---|---|---|
Load Table и Checkpoint |
|||
|
#18+
День добрый! СУБД: ASA10 Developer, Windows XP. После заливки большой таблицы (около 5млн записей) через LOAD TABLE сервер стартует checkpoint, который по времени длится почти столько-же сколько и сама заливка данных. В моем случае это около 17мин на LOAD TABLE и около 18мин на checkpoint. Серверок - обычная персоналка с двума SATA винтами в зеркале (внешний sata-raid контроллер), под кэш отведено 512М. Размер заливаемых данных превышает кэш. Во время самой заливки сервер делает чекпоинты, которые отрабатывают мгновено, т.к. других операций на базе нет. Во время "большого" чекпоинта сервер становится крайне неотзывчив, сильно тормозит. В документации описывается алгоритм работы чекпоинта на примере обычных транзакций, но LOAD TABLE не использует лог. Пока выходит, что вначале load грузит данные куда-то в бд, а потом окончательно записывает их в БД, т.е. делает двойню работу. Вопрос, типично ли такое поведение, как можно избежать длительного чекпоинта. Можно ли длительный чекпоинт разбить на несколько коротких, которые выполняется непосредственно в процессе самой заливки. И вообще каков алгоритм работы чекпоинта после LOAD. Спасибо. все наши на www.corba.kubsu.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.07.2008, 00:58
|
|||
|---|---|---|---|
Load Table и Checkpoint |
|||
|
#18+
Тот же самый что и при любой транзакции. Данные сначала идут в грязные страницы, потом при чекпоинте они переписываются в белые. Это и для обычных insert и для load работает одинаково. Единственная разница между несколькими insert и load это то, что при load данные проходят мимо транзакционного лога. Но грязных страниц они все равно не избегут иначе будет опасность порушить данные если база упадет во время заливки. Самый простой способ борьбы с длительным чекпоинтом это разрезать загружаемый массив данных на несколько частей. А в промежутке между ними принудительно звать CHECKPOINT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=55&tablet=1&tid=2011488]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
153ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 477ms |

| 0 / 0 |
