|
|
|
ASE 12.5 Как работать не забивая журнал транзакций?
|
|||
|---|---|---|---|
|
#18+
ASE 12.5 Ситуация простая. Есть довольно длительный расчет, который запускался в ночь. Объемы росли, ночи стало не хватать. Чтоб ускорить расчет, скрипт был оформлен как хранимка. Объемы возросли и вот теперь очередная беда - переполняется журнал транзакций - идет много операци ввода/вывода. Характер расчетов таков, что он не зависит от предыдущего расчета и не увечит исходные данные. Т.е. транзакция на весь расчет не нужна. Можно ли совсем отказаться от записи в transaction log или хотя бы нашинковать весь расчет на мелкие транзакции в рамках одной хранимой процедуры? Процедура запускается через утилиту ISQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2008, 16:45 |
|
||
|
ASE 12.5 Как работать не забивая журнал транзакций?
|
|||
|---|---|---|---|
|
#18+
Отказаться от записи в transaction log в ASE нельзя. Если транзакция на весь расчет не нужна, то лучше дробите на более мелкие транзакции ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2008, 17:02 |
|
||
|
ASE 12.5 Как работать не забивая журнал транзакций?
|
|||
|---|---|---|---|
|
#18+
morisОтказаться от записи в transaction log в ASE нельзя. Если транзакция на весь расчет не нужна, то лучше дробите на более мелкие транзакции ... Ну почему так категорично. Если речь идёт про запись данных в таблицы, которые мы сами и создаём, то можно использовать select ... into ... вместо create + insert, который не пишет в лог сами данные, а только выделение места. Соответственно для таких операций вставки рост лога сократится значительно. Естественно одноимённая опция на базе должна стоять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2008, 17:28 |
|
||
|
ASE 12.5 Как работать не забивая журнал транзакций?
|
|||
|---|---|---|---|
|
#18+
select ... into ... конечно можно, но в таком случае мы не сможем делать инкрементальные дампы транзакций.. после таких расчетов. Так что сами решайте чего лучше.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2008, 17:32 |
|
||
|
ASE 12.5 Как работать не забивая журнал транзакций?
|
|||
|---|---|---|---|
|
#18+
> (1) Характер расчетов таков, что он не зависит от предыдущего расчета и не > увечит исходные данные. (2) Т.е. транзакция на весь расчет не нужна. (2)-ое отнюдь не вытекает из (1)-го, как вы думаете. Можно > ли совсем отказаться от записи в transaction log Нет. Лог - это основное средство реализации ACID-транзакционности, сервер без лога работать не может. > или хотя бы нашинковать > весь расчет на мелкие транзакции в рамках одной хранимой процедуры? Можно. можно убрать BEGIN TRAN/COMMIT и каждый стейтмент будет своей транзакцией. > Процедура запускается через утилиту ISQL. это почти все равно. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2008, 18:56 |
|
||
|
ASE 12.5 Как работать не забивая журнал транзакций?
|
|||
|---|---|---|---|
|
#18+
В ASA нетранзакционные временные таблицы уже давно есть.. а асе все никак не родит.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2008, 21:46 |
|
||
|
ASE 12.5 Как работать не забивая журнал транзакций?
|
|||
|---|---|---|---|
|
#18+
Я правильно понимаю: - eсли нет операторов begin tran ни в вызывающем скрипте ни в теле самой процедуры - каждый SQL-statement оформляется самостоятельной транзакцией? Такое поведение не регулируется какими-нибудь параметрами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2008, 06:20 |
|
||
|
ASE 12.5 Как работать не забивая журнал транзакций?
|
|||
|---|---|---|---|
|
#18+
golsaЯ правильно понимаю: - eсли нет операторов begin tran ни в вызывающем скрипте ни в теле самой процедуры - каждый SQL-statement оформляется самостоятельной транзакцией? Нет, по крайней мереб для поведения ASE по умолчанию. Transaction mode регулируется с помощью set chained ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2008, 11:17 |
|
||
|
ASE 12.5 Как работать не забивая журнал транзакций?
|
|||
|---|---|---|---|
|
#18+
golsaЕсть довольно длительный расчет, который запускался в ночь Может для этого сервисного процесса создать отдельную tempdb и запускать скрипт "из нее"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2008, 15:56 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=35324875&tid=2011570]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
198ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
| others: | 255ms |
| total: | 574ms |

| 0 / 0 |
