Форум: "Базы";
Текущий архив: 2003.12.23;
Скачать: [xml.tar.bz2];
ВнизБыстрая вставка записей Найти похожие ветки
← →
Yan (2003-11-28 14:18) [0]Как быстрее всего вставить большое количество записей в таблицу (разумеется ипользуя Delphi)
← →
Reindeer Moss Eater (2003-11-28 14:22) [1]А где находится информация предназначенная для быстрой вставки?
← →
b0bi (2003-11-28 14:24) [2]SELECT <fields> INTO <DestinationTable> FROM <SourceTable> WHERE <condition> (при этом DestinationTable создаётся и в неё добавляются записи)
или так
INSERT INTO <DestinationTable>(<fields>) (<sub_query>)
(DestinationTable должна существовать, выход sub_query должен совпадать с полями DestinationTable)
← →
Reindeer Moss Eater (2003-11-28 14:25) [3]не надо торопиться
← →
Yan (2003-11-28 14:50) [4]Reindeer Moss Eater В некотором открітом наборе данных например в клиент датасете, который был загружен из файла
← →
ZrenBy (2003-11-28 14:55) [5]Один из способов
Сформировать XML
Передать XML и
insert into table select ... from openxml( )
← →
Карелин Артем (2003-11-28 14:56) [6]1) Делаем DisableControls для открытого датасета.
2) До начала вставки стартуем транзакцию, по окончании подтверждаем. Хотя это зависит от компонентов...
← →
Reindeer Moss Eater (2003-11-28 15:00) [7]...который был загружен из файла
Утилита BULK INSERT.
Быстрее не будет. Если режим у сервера позволяет непротоколируемые операции вставки
← →
}|{yk (2003-11-28 19:28) [8]Не знаю, наиболее бысро ли это, но можно сделать client dataset совать данные в него, а потом делать commitupdate(-1)
← →
ksan (2003-11-28 19:35) [9]Действительно, а чем "БЫСТРО" отличается от других вставок?
← →
Reindeer Moss Eater (2003-11-28 19:35) [10]Временем вставки разумеется
← →
ksan (2003-11-28 19:57) [11]
> Reindeer Moss Eater © (28.11.03 19:35) [10]
Если не секрет, а как это можно контролировать?
← →
Reindeer Moss Eater (2003-11-28 20:03) [12]Это не секрет.
Иначе бы в документации по поводу этого ничего бы не было написано.
DML операции могут протоколироваться (обрабатываться в транзакциях) а могут и не протоколироваться в журнале тразакций.
Во втором случае вставка записей занимает меньше времени.
← →
ksan (2003-11-28 20:25) [13]Как я понимаю: ВСЕ обрабатывается в транзакциях. А выигрыш во времени протокола на сервере значителен ли?
← →
Reindeer Moss Eater (2003-11-28 20:27) [14]Неправильно понимаешь.
Не все в транзакциях.
← →
ksan (2003-11-28 20:31) [15]Поделись секрктом - а что НЕ в транзакциях? Если клиент-сервер?
← →
Reindeer Moss Eater (2003-11-28 20:33) [16]Не много ли секретов для одной ветки и для одного MSSQL сервера?
SELECT INTO
BULK COPY
Это только то, что касается вставки данных.
Ни одна из этих операций не протоколируется в журнале транзакций.
← →
ksan (2003-11-28 20:38) [17]Для MSSQL много секретов наверное. Я с ним не работал. Извини. Но все равно, а при чем здесь журнал?
← →
Reindeer Moss Eater (2003-11-28 20:42) [18]Ладно, открою еще один страшный секрет:
Протоколирование операций в журнале транзакций занимает некоторое время, которое увеличивает время этой самой вставки.
← →
ksan (2003-11-28 20:43) [19]Удалено модератором
← →
Zacho (2003-11-28 22:01) [20]Удалено модератором
← →
ksan (2003-11-28 22:07) [21]Удалено модератором
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.12.23;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.011 c