|
Temporary DbSpace
|
|||
---|---|---|---|
#18+
Доброго всем дня. Имеется сервер SA 12.0.1 База весит около 2 гб Размер Temporary DbSpace - 60 Гб Возможно ли как то уменьшить его. или задать размер, выше которого чтоб он не рос? Перезапуск не предлагать :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 16:45 |
|
Temporary DbSpace
|
|||
---|---|---|---|
#18+
29.02.2016 16:45, roleks пишет: > Имеется сервер SA 12.0.1 > База весит около 2 гб > Размер Temporary DbSpace - 60 Гб > > Возможно ли как то уменьшить его. или задать размер, выше которого чтоб > он не рос? Перезапустить сервер. И научиться писать запросы так, чтобы они не жрали гектарами память. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2016, 19:59 |
|
Temporary DbSpace
|
|||
---|---|---|---|
#18+
Dim2000, спасибо за потраченное Вами время, но о перезапуске сервера сам знаю, и об этом писал в сообщении. Также не зная специфики бизнес процессов, с Вашей стороны немного некорректно говорить о правильности написания запросов. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2016, 01:29 |
|
Temporary DbSpace
|
|||
---|---|---|---|
#18+
01.03.2016 1:29, roleks пишет: > Dim2000, спасибо за потраченное Вами время, но о перезапуске сервера сам > знаю, и об этом писал в сообщении. Другого способа не существует. Зачем задавать вопрос и сразу отбрасывать единственный правильный ответ? > Также не зная специфики бизнес процессов, с Вашей стороны немного > некорректно говорить о правильности написания запросов. Если 2-гиговой базе потребовалось 60 гигов временного пространства - это неправильно безотносительно к бизнес-процессам ;). Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2016, 12:12 |
|
Temporary DbSpace
|
|||
---|---|---|---|
#18+
Dim200001.03.2016 1:29, roleks пишет: > Dim2000, спасибо за потраченное Вами время, но о перезапуске сервера сам > знаю, и об этом писал в сообщении. Другого способа не существует. Зачем задавать вопрос и сразу отбрасывать единственный правильный ответ? > Также не зная специфики бизнес процессов, с Вашей стороны немного > некорректно говорить о правильности написания запросов. Если 2-гиговой базе потребовалось 60 гигов временного пространства - это неправильно безотносительно к бизнес-процессам ;). На чем основываются столь категоричные заявления? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2016, 12:30 |
|
Temporary DbSpace
|
|||
---|---|---|---|
#18+
roleksНа чем основываются столь категоричные заявления?На опыте и логике. Вопрос: Зачем серверу нужен Temporary DbSpace? Ответ: Для промежуточной обработки запроса. Каждый select * from t1, t2 where t1.f=t2.f это в первую очередь склеивание каждой из записей из t1 с каждой записью из t2 и последующей отфильтровыванием всего что не попадает под условие t1.f=t2.f. Это декартово произведение перед наложение фильтров и хранится во временном пространстве. Если твой сервер потребовал 60Г под временное пространство, значит у тебя в запросе есть связь нескольких очень больших таблиц, и скорее всего они там еще и повторяются под разными псевдонимами. Декартово произведение можно избежать если использовать индексы и фильтровать исходные таблицы отдавая в произведение только часть записей. Еще можно использовать временные таблицы (которые через # задаются или через declare temporary table), отбирать в эти таблицы только нужные записи из оригинальных таблиц, а потом уже соединять эти временные таблицы. От бизнес логики это все совершенно не зависит. Но конечно, можно нанять консультанта, разрешить ему написать ужасающий запрос, а потом обозвать этот этот кошмар бизнес процессом и потом водить вокруг него хороводы. roleksВозможно ли как то уменьшить его. или задать размер, выше которого чтоб он не рос?Нет нельзя. Если ты его принудительно уменьшишь (перегрузив сервер), то первый же запуск того ужаса который породил такой большой свап - потребует столько-же много (а возможно и больше) места и сервер его даст. Если сервер не сможет хапнуть достаточное количество место на диске - он просто откажется выполнять твой ужасный запрос соответствующей диагностикой. Не помню как оно точно звучит, но оно однозначно скажет что запрос не может быть выполнен по причине нехватки "временного места". ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2016, 19:45 |
|
Temporary DbSpace
|
|||
---|---|---|---|
#18+
01.03.2016 19:45, White Owl пишет: > Если ты его принудительно уменьшишь (перегрузив сервер), то первый же > запуск того ужаса который породил такой большой свап - потребует > столько-же много (а возможно и больше) места и сервер его даст. Если > сервер не сможет хапнуть достаточное количество место на диске - он > просто откажется выполнять твой ужасный запрос соответствующей > диагностикой. Не помню как оно точно звучит, но оно однозначно скажет > что запрос не может быть выполнен по причине нехватки "временного места". Скорее всего, возникнет ошибка -1000 "Temporary space limit exceeded". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2016, 20:09 |
|
|
start [/forum/topic.php?fid=55&fpage=5&tid=2009732]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 146ms |
0 / 0 |