Форум: "Базы";
Текущий архив: 2003.04.17;
Скачать: [xml.tar.bz2];
ВнизMSSQL Export/Import Wizard Найти похожие ветки
← →
Palladin (2003-03-31 10:37) [0]Просветите меня... чем достигается такая бешеная скорость импорта данных в SQLServer хотябы из того же Access....
Какая технология используется?
Хочу такого же быстродействия достичь...
← →
sniknik (2003-03-31 10:57) [1]а для чего надо? в смысл вникнуть или использовать в программе? можеш использовать запросы с openrowset (и иже с ними) и будут те же скорости.
если в смысл вникать то нужно OLEDB технологию ковырять именно она перекрестность (и скорость) обеспечивает.
← →
Palladin (2003-03-31 11:46) [2]ну факт в том, что скорость работы с MSSQL во много раз превышает скорость Access. К примеру меня убивают запросы с условием not (Table2.id in (select id from table1))
уже это условие повергнет Jet в состояние шока. Решено переводить систему отчетности на работу с MSSQL, а основная программа остается пока с Access (не спрашивайте почему, была бы моя воля - я бы вообще все изменил)
По какойто причине (причину не помню, ибо дело было глубокой ночью) я был не в восторге от импорта данных по расписанию в MSSQL... и решил сам написать перенос... использовал ADO... естественно что написаный мною перенос тутже себя опозорил, показав на таблице с ~1200000 записей время примерного завершения через 6 часов... хота в E/I Wizarde это дело бежало - несколько тысяч в полсекунды...
Досадно мне стало... я даже стал думать про прямое чтение файла с данными E/I Wizardом... чушь конечно... но скорость убийственная... и проснулся во мне спортивный интерес...
← →
Delirium (2003-03-31 12:07) [3]"я даже стал думать про прямое чтение файла с данными E/I Wizardом... чушь конечно... но скорость убийственная..." - отчего-же чушь? Это называется DTS-пакет, весьма удобный и распространённый способ обмена информацией. Опять таки есть COM - DTS.Package, позволяющий проводить операции с пакетами в пользовательском приложении.
← →
stone (2003-03-31 12:13) [4]
> убивают запросы с условием not (Table2.id in (select id
> from table1))
Ну так пиши вместо in
where exists(select * from table1 where Table2.id = table1.id)
← →
sniknik (2003-03-31 12:15) [5]а как насчет OPENROWSET?
переведи все на аналогичные запросы (в самом MSSQL) скорость будет такой же
INSERT INTO DatdTest SELECT * FROM
OPENROWSET("Microsoft.Jet.OLEDB.4.0", "D:\Base.mdb";"admin";"", DatdTest)
← →
Palladin (2003-03-31 12:30) [6]
> Ну так пиши вместо in
> where exists(select * from table1 where Table2.id = table1.id)
дело не только в построении, конечно пришлось переписать запрос...
согласитесь MSSQL в любом случае предпочтительней чем Access... (ценовой показатель не рассматриваем, не мои заботы)
> Delirium © (31.03.03 12:07)
Спасибо за наводку, попробую рыть в этом направлении, (в самом E/I Wizarde написано что DTS млин :( необратил внимания)..
← →
Palladin (2003-03-31 12:32) [7]
> sniknik © (31.03.03 12:15)
сейчас попробую замерить...
с openrowset я еще не сталкивался...
← →
stone (2003-03-31 12:36) [8]
> согласитесь MSSQL в любом случае предпочтительней чем Access
Ну ты сравнил... MSSQL - промышленная СУБД, a Access - (как бы по-мягче выразиться) "оффисная".
← →
Palladin (2003-03-31 12:40) [9]а еще точнее настольная...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.04.17;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c