|  12.06.2012, 10:20 | #1 | 
| Участник | Как эффективно удалить данные в АХ ? 
			
			AX 4.0, SQL 2005. Есть таблица - 220 млн. записей, занимает в базе 65 Гб (данные + индексы). Другие таблицы на записи этой таблицы не ссылаются. Задача: полностью очистить содержимое таблицы. Вопрос: как это сделать наиболее эффективно? Под эффективностью я понимаю наилучшее сочетание таких параметров: время удаления, нагрузка на сервер с базой, нагрузка на сам SQL, нагрузка на АОС, необходимое для операции дополнительное дисковое пространство, рост лога транзакций. Будет ли наиболее эффективным удаление таблицы полностью через SQL, с последующим воссозданием её структуры путем синхронизации Data Dictionary в Аксапте? Сколько времени может занять удаление? | 
|  | 
|  12.06.2012, 10:41 | #2 | 
| Участник | 
			
			truncate.
		 | 
|  | 
|  12.06.2012, 11:29 | #3 | 
| Участник | |
|  | 
|  12.06.2012, 13:34 | #4 | 
| Участник | 
			
			Ну да, но вроде из исходной постановки задачи это и следует: Цитата: | 
|  | 
|  12.06.2012, 15:16 | #5 | 
| Участник | 
			
			truncate -  выполняется в одной транзакции? что при этом происходит с логом транзакций SQL ?
		 | 
|  | 
|  12.06.2012, 16:18 | #6 | 
| Участник | 
			
			лог растет, если установлен recovery model = full.
		 | 
|  | 
|  12.06.2012, 16:45 | #7 | 
| Боец | 
			
			Table properties: 1. Set Temporary = Yes 2. Synchronize 3. Set Temporary = No 4. Synchronize | 
|  | 
|  12.06.2012, 16:45 | #8 | 
| Участник | 
			
			По поводу лога и прочего лучше всего обратиться к документации. В частности, на счет лога пишут: Цитата: 
		
			Compared to the DELETE statement, TRUNCATE TABLE has the following advantages: 
 | 
|  |