![]() |
#18 |
Участник
|
Цитата:
В зависимости от версии SQL, от выставленного Recovery Model и от размера файла для логов. легко. для SQL - это не страшные объемы. Цитата:
Цитата:
возвращаемся к параметрам. 1. Если у вас SQL2000, то там есть блокировка на чтение. (или более старший SQL, но у вас установлен режим совместимости с SQL2000). только тогда имеет смысл заниматься "разбиением на, скажем, 70 кусков" Если же у вас более новый SQL, то заниматься ерундой не стоит. 2. Если у вас Recovery Model = Full, то на сколько бы кусков вы ни разбивали, все будет записываться в Transaction log. Если у вас Recovery Model = Simple, то вы выигрываете только на том, что каждая транзакция сразу очищается И файл транзакций НЕ растет. 3. вот и приходим к размеру лога. как вы изящно выразились "при достижении определенного порога все еле ворочается". просто транзакция заполняет весь лог, и СКЛ начинает увеличивать файл лога. на увеличение файла тратит значительное время. в SQL Management Studio вы можете посмотреть отчет (по-моему, Disk Usage) и ужаснуться сколько времени SQL тратит на увеличение размера. кроме того, исходя из своего опыта рискну предположить, что у вас таки SQL2005 или выше и параметры для файлов выставлены по-умолчанию. Дело в том, что начиная с SQL2005 файл Transaction Log по умолчанию растет по 1Мб (один мегабайт! - это ужасный параметр по умолчанию) =============== следовательно, перестаньте заниматься фигней. 700тыс записей - смешной объем как для Аксапты, так и для СКЛ. посмотрите в параметры СКЛ. прежде всего увеличьте минимальный размер Transaction Log до вменяемого значения (поставьте гиг 5) обязательно установите вменяемый размер прироста в фиксированных единицах (например, по 200-300Мб). Ни в коем случае не оставляйте по 1Мб. Так вы сократите фрагментацию как диска, так и внутреннюю SQL. Так вы минимизируете накладные расходы времени на рост Transaction Log. И не парьтесь "кусками". Сделайте или в одной нормальной транзакции. Или сделайте транзакцию на каждую запись. Разница только логическая - если прервете обработку, то либо отменятся все изменения, либо останется то, что сделано. |
|
|
За это сообщение автора поблагодарили: Hyper (1), sukhanchik (2), Poleax (1). |