Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.17;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.022 c
14-54806
Fredericco
2003-03-31 15:17
2003.04.17
Переход на летнее/зимнее время...


14-54877
Санёк
2003-04-02 10:43
2003.04.17
Delphi


3-54433
Proxvost
2003-04-01 14:48
2003.04.17
adoquery, append и edit ?


7-54914
pet
2003-02-26 14:19
2003.04.17
Проблема выхода Виндовс


14-54804
NetBreaker666
2003-03-31 18:06
2003.04.17
Не мог бы мне кто-нить кинуть на мыло анимашку собачки