Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Сколько нужно места в логе БД, для удаления данных из таблицы ХХХ
|
|||
|---|---|---|---|
|
#18+
Кто-нибудь думал над таким вопросом: При удалении данных из таблицы размером YYY в логе нужно место не YYY, а YYY+ZZZ А как поточнее определить необходимый объем места в логе для удалении известного количества записей и при известном размере строки? Наверное это зависит от организации данных в логе, всякие там страницы и т.п. Думаю, что есть различия для версий SQL'я Внесите ясность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2002, 19:25 |
|
||
|
Сколько нужно места в логе БД, для удаления данных из таблицы ХХХ
|
|||
|---|---|---|---|
|
#18+
начал исследовать вопрос и заметил, что для таблицы с меньшим количеством колонок при удалении лог запоняется больше. В моем случае примерно в два раза. Почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2002, 07:37 |
|
||
|
Сколько нужно места в логе БД, для удаления данных из таблицы ХХХ
|
|||
|---|---|---|---|
|
#18+
вот что нашел для размышлений, но вопрос по прежнему остается открытый When I copy two columns-approximately 5MB in disk size and containing fewer than 400,000 rows-from one table to another, the copying process seems to enlarge the transaction log by about 100MB, even when I drop the indexes from the destination table. I use the following statement to copy the data: INSERT into Table_A (Col1, Col2) SELECT Col1, Col2 FROM Table_B The database is set up to truncate on checkpoint, and autoshrink is turned on. Is it typical for this INSERT statement to cause the transaction log to increase by such a large amount, and if so, what can I do to reduce the log's size? Based on the information you provided, you can account for about 60MB of log space for your operation. Each row in the INSERT CASE claims about 56 bytes of log-record overhead. So, assuming that each data record uses 12 bytes, each insert would occupy about 70 bytes of log space. Multiply 70 by 400,000 records, then multiply the product (28 million bytes) by 2 to account for the compensation log record's reserved space. So far, the byte consumption amounts to 56MB. But wait-you aren't finished. SQL Server has to allocate about 650 pages to perform the insert, so you can tack on an additional couple of megabytes. The rest of the bloat could be due to the log file's original size. If the table contains a clustered index, the amount of space would increase again because of splitting index pages. To keep your inserts from increasing the transaction log file so much, execute the inserts in smaller transactions based on an ordering key. And to reduce the log's size, you can also run one of the shrink log space scripts (i.e., DBCC SHRINKFILE and DBCC SHRINKDATABASE) that are available from the Microsoft Developer Network (MSDN) Web site at http://msdn.microsoft.com. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2002, 08:35 |
|
||
|
Сколько нужно места в логе БД, для удаления данных из таблицы ХХХ
|
|||
|---|---|---|---|
|
#18+
Предположения: ZZZ - Зависить от размера затронутых удалением индексов. Кроме того, прирост журнала будет зависеть от того, насколько фрагментирован файл журнала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2002, 13:44 |
|
||
|
Сколько нужно места в логе БД, для удаления данных из таблицы ХХХ
|
|||
|---|---|---|---|
|
#18+
Врагментирован файл журнала !!! 8-[] Так это вообще накогда правды не найдешь! Я то надеялся, что хоть как-нибудь можно получить достоверный ответ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2002, 20:01 |
|
||
|
Сколько нужно места в логе БД, для удаления данных из таблицы ХХХ
|
|||
|---|---|---|---|
|
#18+
Если вопрос лишь в том, чтобы сэкономить место в логе при удалении - используй TRUNCATE вместо DELETE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2002, 05:47 |
|
||
|
Сколько нужно места в логе БД, для удаления данных из таблицы ХХХ
|
|||
|---|---|---|---|
|
#18+
Вопрос в том, чтобы при глобальной чистке базы. Быть уверенным в том, что хватит лога для удаления данных по определенным ключам (прикинув хватит/не хватит лога, можно управлять объемом удаляемых данных за раз, ну не по одной записи же удалять?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2002, 09:28 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3510&tid=1824125]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
536ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 830ms |

| 0 / 0 |
